Viewflipper接收器未注册而改变方向时错误在2.1和2.2 [英] Viewflipper Receiver not registered error while orientation change in 2.1 and 2.2

查看:195
本文介绍了Viewflipper接收器未注册而改变方向时错误在2.1和2.2的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我使用viewflipper为一扔手势识别一切工作正常的2.0和前,但2.2和2.1它抛出异常为java.lang.IllegalArgumentException异常:未注册接收器:android.widget.ViewFlipper的充满调试跟踪。

 
java.lang.IllegalArgumentException异常:接收未注册:android.widget.ViewFlipper$1@452f8398
11月9日至19日:33:06.825:ERROR / AndroidRuntime(393):在android.app.ActivityThread $ PackageInfo.forgetReceiverDispatcher(ActivityThread.java:793)
11月9日至19日:33:06.825:ERROR / AndroidRuntime(393):在android.app.ContextImpl.unregisterReceiver(ContextImpl.java:814)
11月9日至19日:33:06.825:ERROR / AndroidRuntime(393):在android.content.ContextWrapper.unregisterReceiver(ContextWrapper.java:331)
11月9日至19日:33:06.825:ERROR / AndroidRuntime(393):在android.widget.ViewFlipper.onDetachedFromWindow(ViewFlipper.java:104)
11月9日至19日:33:06.825:ERROR / AndroidRuntime(393):在android.view.View.dispatchDetachedFromWindow(View.java:6033)
11月9日至19日:33:06.825:ERROR / AndroidRuntime(393):在android.view.ViewGroup.dispatchDetachedFromWindow(ViewGroup.java:1158)
11月9日至19日:33:06.825:ERROR / AndroidRuntime(393):在android.view.ViewGroup.dispatchDetachedFromWindow(ViewGroup.java:1156)
11月9日至19日:33:06.825:ERROR / AndroidRuntime(393):在android.view.ViewGroup.dispatchDetachedFromWindow(ViewGroup.java:1156)
11月9日至19日:33:06.825:ERROR / AndroidRuntime(393):在android.view.ViewGroup.dispatchDetachedFromWindow(ViewGroup.java:1156)
11月9日至19日:33:06.825:ERROR / AndroidRuntime(393):在android.view.ViewRoot.dispatchDetachedFromWindow(ViewRoot.java:1630)
11月9日至19日:33:06.825:ERROR / AndroidRuntime(393):在android.view.ViewRoot.doDie(ViewRoot.java:2671)
11月9日至19日:33:06.825:ERROR / AndroidRuntime(393):在android.view.ViewRoot.die(ViewRoot.java:2641)
11月9日至19日:33:06.825:ERROR / AndroidRuntime(393):在android.view.WindowManagerImpl.removeViewImmediate(WindowManagerImpl.java:218)
11月9日至19日:33:06.825:ERROR / AndroidRuntime(393):在android.view.Window $ LocalWindowManager.removeViewImmediate(Window.java:436)
11月9日至19日:33:06.825:ERROR / AndroidRuntime(393):在android.app.ActivityThread.handleDestroyActivity(ActivityThread.java:3684)
11月9日至19日:33:06.825:ERROR / AndroidRuntime(393):在android.app.ActivityThread.handleRelaunchActivity(ActivityThread.java:3789)
11月9日至19日:33:06.825:ERROR / AndroidRuntime(393):在android.app.ActivityThread.access $ 2400(ActivityThread.java:125)
11月9日至19日:33:06.825:ERROR / AndroidRuntime(393):在android.app.ActivityThread $ H.handleMessage(ActivityThread.java:2037)
11月9日至19日:33:06.825:ERROR / AndroidRuntime(393):在android.os.Handler.dispatchMessage(Handler.java:99)
11月9日至19日:33:06.825:ERROR / AndroidRuntime(393):在android.os.Looper.loop(Looper.java:123)
11月9日至19日:33:06.825:ERROR / AndroidRuntime(393):在android.app.ActivityThread.main(ActivityThread.java:4627)
11月9日至19日:33:06.825:ERROR / AndroidRuntime(393):在java.lang.reflect.Method.invokeNative(本机方法)
11月9日至19日:33:06.825:ERROR / AndroidRuntime(393):在java.lang.reflect.Method.invoke(Method.java:521)
11月9日至19日:33:06.825:ERROR / AndroidRuntime(393):在com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run(ZygoteInit.java:868)
11月9日至19日:33:06.825:ERROR / AndroidRuntime(393):在com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626)
11月9日至19日:33:06.825:ERROR / AndroidRuntime(393):在dalvik.system.NativeStart.main(本机方法)

上有谷歌事件与此相关的错误6191。

,并在那里提到的解决方案,似乎如果您通过code,但在我的情况我在XML使用ViewFlipper创建ViewFlipper这是我的布局文件只工作,所以我不能使用延长ViewFlipper中提到的解决方案我试着用延迟似乎没有任何工作。

我与这个非常卡住任何帮助将是非常美联社preciated。

下面是我的布局code。

 < ViewFlipper的xmlns:安卓= QUOT; HTTP://schemas.android.com/apk/res/android"
        机器人:ID =" @ + ID /升降舵"
        机器人:layout_width =" FILL_PARENT"
        机器人:layout_height =" FILL_PARENT">
    < LinearLayout中的xmlns:安卓= QUOT; HTTP://schemas.android.com/apk/res/android"机器人:ID =" @ + ID / parentView"机器人:layout_width =" FILL_PARENT"机器人:layout_height =" FILL_PARENT"机器人:背景= QUOT; @彩色/ listingBG">
        <的TextView
                机器人:ID =" @ + ID / statusMessage"
                机器人:layout_height =" FILL_PARENT"
                机器人:layout_width =" FILL_PARENT"
                风格= QUOT; @风格/ TextLabel.Normal"机器人:知名度= QUOT;去"
                机器人:文本= [否结果"机器人:填充=" 15dp"安卓重力=" CENTER_HORIZONTAL" />
        <滚动型机器人:layout_width =" FILL_PARENT"机器人:layout_height =" FILL_PARENT"机器人:滚动条="无"机器人:ID =" @ + ID /滚动视图" >
            < RelativeLayout的机器人:ID =" @ + ID / parentItemView"机器人:layout_height =" WRAP_CONTENT"机器人:layout_width =" FILL_PARENT">
            < / RelativeLayout的>
        < /滚动型>
    < / LinearLayout中>
< / ViewFlipper>


解决方案

您可以在XML布局文件扩展ViewFlipper并使用新类的全名(含包装):


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

您甚至可以创造2.1使用布局目录名称,如 RES /布局-V7不同的XML文件和2.2版本 RES /布局 - V8

I am using viewflipper for fling gesture recognition everything works fine for 2.0 and prior but in 2.2 and 2.1 it throws exception as "java.lang.IllegalArgumentException: Receiver not registered: android.widget.ViewFlipper" below is full debug trace.


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.

And the solutions mentioned in there seems to work only if your are creating ViewFlipper through code but in my case i am using ViewFlipper in XML which is my layout file and so i cant use the solution mentioned for extending the ViewFlipper i tried using delay nothing seems to work.

I am stuck awfully with this any help will be really appreciated.

Below is my layout code.



<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>

解决方案

You can extend the ViewFlipper and use the full name of your new class (with package) in the xml layout file:

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

You can even create distinct xml files for 2.1 and 2.2 versions using a layout directory name like res/layout-v7 and res/layout-v8.

这篇关于Viewflipper接收器未注册而改变方向时错误在2.1和2.2的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆