gpt4 book ai didi

android - Viewflipper Receiver 在 2.1 和 2.2 中方向改变时未注册错误

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:47:43 24 4
gpt4 key购买 nike

我正在使用 viewflipper 进行手势识别,在 2.0 和之前的版本中一切正常,但在 2.2 和 2.1 中它抛出异常,如“java.lang.IllegalArgumentException: Receiver not registered: 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)

There is issue on Google related to this bug 6191.

而且那里提到的解决方案似乎只有在您通过代码创建 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>

最佳答案

您可以扩展 ViewFlipper 并在 xml 布局文件中使用新类的全名(带包):


<com.yourpackage.FixedViewFlipper>
...
</com.yourpackage.FixedViewFlipper>

您甚至可以使用像 res/layout-v7 这样的布局目录名称为 2.1 和 2.2 版本创建不同的 xml 文件。和 res/layout-v8 .

关于android - Viewflipper Receiver 在 2.1 和 2.2 中方向改变时未注册错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3744954/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com