我正在使用 viewflipper 进行手势识别,在 2.0 及之前的版本中一切正常,但在 2.2 和 2.1 中,它会抛出异常,因为下面的“java.lang.IllegalArgumentException:接收器未注册:android.widget.ViewFlipper”是完整的调试跟踪。
java.lang.IllegalArgumentException: Receiver not registered: android.widget.ViewFlipper$1@452f8398
09-19 11:33:06.825: ERROR/AndroidRuntime(393): at android.app.ActivityThread$PackageInfo.forgetReceiverDispatcher(ActivityThread.java:793)
09-19 11:33:06.825: ERROR/AndroidRuntime(393): at android.app.ContextImpl.unregisterReceiver(ContextImpl.java:814)
09-19 11:33:06.825: ERROR/AndroidRuntime(393): at android.content.ContextWrapper.unregisterReceiver(ContextWrapper.java:331)
09-19 11:33:06.825: ERROR/AndroidRuntime(393): at android.widget.ViewFlipper.onDetachedFromWindow(ViewFlipper.java:104)
09-19 11:33:06.825: ERROR/AndroidRuntime(393): at android.view.View.dispatchDetachedFromWindow(View.java:6033)
09-19 11:33:06.825: ERROR/AndroidRuntime(393): at android.view.ViewGroup.dispatchDetachedFromWindow(ViewGroup.java:1158)
09-19 11:33:06.825: ERROR/AndroidRuntime(393): at android.view.ViewGroup.dispatchDetachedFromWindow(ViewGroup.java:1156)
09-19 11:33:06.825: ERROR/AndroidRuntime(393): at android.view.ViewGroup.dispatchDetachedFromWindow(ViewGroup.java:1156)
09-19 11:33:06.825: ERROR/AndroidRuntime(393): at android.view.ViewGroup.dispatchDetachedFromWindow(ViewGroup.java:1156)
09-19 11:33:06.825: ERROR/AndroidRuntime(393): at android.view.ViewRoot.dispatchDetachedFromWindow(ViewRoot.java:1630)
09-19 11:33:06.825: ERROR/AndroidRuntime(393): at android.view.ViewRoot.doDie(ViewRoot.java:2671)
09-19 11:33:06.825: ERROR/AndroidRuntime(393): at android.view.ViewRoot.die(ViewRoot.java:2641)
09-19 11:33:06.825: ERROR/AndroidRuntime(393): at android.view.WindowManagerImpl.removeViewImmediate(WindowManagerImpl.java:218)
09-19 11:33:06.825: ERROR/AndroidRuntime(393): at android.view.Window$LocalWindowManager.removeViewImmediate(Window.java:436)
09-19 11:33:06.825: ERROR/AndroidRuntime(393): at android.app.ActivityThread.handleDestroyActivity(ActivityThread.java:3684)
09-19 11:33:06.825: ERROR/AndroidRuntime(393): at android.app.ActivityThread.handleRelaunchActivity(ActivityThread.java:3789)
09-19 11:33:06.825: ERROR/AndroidRuntime(393): at android.app.ActivityThread.access$2400(ActivityThread.java:125)
09-19 11:33:06.825: ERROR/AndroidRuntime(393): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2037)
09-19 11:33:06.825: ERROR/AndroidRuntime(393): at android.os.Handler.dispatchMessage(Handler.java:99)
09-19 11:33:06.825: ERROR/AndroidRuntime(393): at android.os.Looper.loop(Looper.java:123)
09-19 11:33:06.825: ERROR/AndroidRuntime(393): at android.app.ActivityThread.main(ActivityThread.java:4627)
09-19 11:33:06.825: ERROR/AndroidRuntime(393): at java.lang.reflect.Method.invokeNative(Native Method)
09-19 11:33:06.825: ERROR/AndroidRuntime(393): at java.lang.reflect.Method.invoke(Method.java:521)
09-19 11:33:06.825: ERROR/AndroidRuntime(393): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:868)
09-19 11:33:06.825: ERROR/AndroidRuntime(393): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626)
09-19 11:33:06.825: ERROR/AndroidRuntime(393): at dalvik.system.NativeStart.main(Native Method)
并且其中提到的解决方案似乎只有在您通过代码创建 ViewFlipper 时才有效,但在我的情况下,我在 XML 中使用 ViewFlipper,这是我的布局文件,所以我不能使用提到的解决方案来扩展我尝试使用延迟的 ViewFlipper 似乎没有去工作。
我非常受此困扰,任何帮助都将不胜感激。
下面是我的布局代码。
<ViewFlipper xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/flipper"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/parentView" android:layout_width="fill_parent" android:layout_height="fill_parent" android:background="@color/listingBG">
<TextView
android:id="@+id/statusMessage"
android:layout_height="fill_parent"
android:layout_width="fill_parent"
style="@style/TextLabel.Normal" android:visibility="gone"
android:text="No result" android:padding="15dp" android:gravity="center_horizontal"/>
<ScrollView android:layout_width="fill_parent" android:layout_height="fill_parent" android:scrollbars="none" android:id="@+id/scrollView" >
<RelativeLayout android:id="@+id/parentItemView" android:layout_height="wrap_content" android:layout_width="fill_parent">
</RelativeLayout>
</ScrollView>
</LinearLayout>
</ViewFlipper>