Warum funktioniert die Tastatur-schieben Sie Abstürzen meine app?

Wenn ich körperlich schieben Sie die Tastatur auf meinem Moto Droid A855, es stürzt mein test-app mit dem stack-trace eingefügt unten. Ich verstehe nicht, warum?

Auch, wenn ich meine app mit der Tastatur aus, meine app stürzt sofort beim Start.

Die app besteht aus einer Aktivität, die mit einem viewflipper, wie das layout der Hauptansicht. Der viewflipper enthält zwei linearlayouts...

Stack trace:

06-10 21:10:17.652 E/AndroidRuntime( 3785): Uncaught handler: thread main exiting due to uncaught exception
06-10 21:10:17.668 E/AndroidRuntime( 3785): java.lang.IllegalArgumentException: Receiver not registered: android.widget.ViewFlipper$1@447af0b8
06-10 21:10:17.668 E/AndroidRuntime( 3785):     at android.app.ActivityThread$PackageInfo.forgetReceiverDispatcher(ActivityThread.java:667)
06-10 21:10:17.668 E/AndroidRuntime( 3785):     at android.app.ApplicationContext.unregisterReceiver(ApplicationContext.java:747)
06-10 21:10:17.668 E/AndroidRuntime( 3785):     at android.content.ContextWrapper.unregisterReceiver(ContextWrapper.java:321)
06-10 21:10:17.668 E/AndroidRuntime( 3785):     at android.widget.ViewFlipper.onDetachedFromWindow(ViewFlipper.java:104)
06-10 21:10:17.668 E/AndroidRuntime( 3785):     at android.view.View.dispatchDetachedFromWindow(View.java:5835)
06-10 21:10:17.668 E/AndroidRuntime( 3785):     at android.view.ViewGroup.dispatchDetachedFromWindow(ViewGroup.java:1076)
06-10 21:10:17.668 E/AndroidRuntime( 3785):     at android.view.ViewGroup.dispatchDetachedFromWindow(ViewGroup.java:1074)
06-10 21:10:17.668 E/AndroidRuntime( 3785):     at android.view.ViewGroup.dispatchDetachedFromWindow(ViewGroup.java:1074)
06-10 21:10:17.668 E/AndroidRuntime( 3785):     at android.view.ViewGroup.dispatchDetachedFromWindow(ViewGroup.java:1074)
06-10 21:10:17.668 E/AndroidRuntime( 3785):     at android.view.ViewRoot.dispatchDetachedFromWindow(ViewRoot.java:1570)
06-10 21:10:17.668 E/AndroidRuntime( 3785):     at android.view.ViewRoot.doDie(ViewRoot.java:2556)
06-10 21:10:17.668 E/AndroidRuntime( 3785):     at android.view.ViewRoot.die(ViewRoot.java:2526)
06-10 21:10:17.668 E/AndroidRuntime( 3785):     at android.view.WindowManagerImpl.removeViewImmediate(WindowManagerImpl.java:218)
06-10 21:10:17.668 E/AndroidRuntime( 3785):     at android.view.Window$LocalWindowManager.removeViewImmediate(Window.java:436)
06-10 21:10:17.668 E/AndroidRuntime( 3785):     at android.app.ActivityThread.handleDestroyActivity(ActivityThread.java:3498)
06-10 21:10:17.668 E/AndroidRuntime( 3785):     at android.app.ActivityThread.handleRelaunchActivity(ActivityThread.java:3599)
06-10 21:10:17.668 E/AndroidRuntime( 3785):     at android.app.ActivityThread.access$2300(ActivityThread.java:119)
06-10 21:10:17.668 E/AndroidRuntime( 3785):     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1867)
06-10 21:10:17.668 E/AndroidRuntime( 3785):     at android.os.Handler.dispatchMessage(Handler.java:99)
06-10 21:10:17.668 E/AndroidRuntime( 3785):     at android.os.Looper.loop(Looper.java:123)
06-10 21:10:17.668 E/AndroidRuntime( 3785):     at android.app.ActivityThread.main(ActivityThread.java:4363)
06-10 21:10:17.668 E/AndroidRuntime( 3785):     at java.lang.reflect.Method.invokeNative(Native Method)
06-10 21:10:17.668 E/AndroidRuntime( 3785):     at java.lang.reflect.Method.invoke(Method.java:521)
06-10 21:10:17.668 E/AndroidRuntime( 3785):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:860)
06-10 21:10:17.668 E/AndroidRuntime( 3785):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:618)
06-10 21:10:17.668 E/AndroidRuntime( 3785):     at dalvik.system.NativeStart.main(Native Method)
06-10 21:10:17.684 I/Process ( 1017): Sending signal. PID: 3785 SIG: 3

EDIT: Hinzugefügt XML-layout und die entsprechenden Ausschnitte aus Haupttätigkeit.

Gesamte XML-layout-Datei

<?xml version="1.0" encoding="utf-8"?>


<ViewFlipper
        xmlns:android="http://schemas.android.com/apk/res/android"
        android:id="@+id/vFlipper"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content">

                <!--  Linear Layout 1: messages and overview.  -->
                <LinearLayout
                    android:orientation="vertical"
                    android:layout_width="fill_parent"
                    android:layout_height="fill_parent"
                    >

                <TableRow android:id="@+id/TableRow01" android:layout_width="fill_parent" android:layout_height="wrap_content">
                <TextView
                        android:text="Connection info"
                        android:id="@+id/tvCon1"
                        android:layout_width="fill_parent"
                        android:layout_height="wrap_content"
                        android:background="#F0F0F0"
                        android:textColor="#FF0000"
                        />
                </TableRow>


                <ScrollView
                        android:id="@+id/ScrollView01"
                        android:layout_width="fill_parent"
                        android:layout_height="fill_parent">

                                <TextView  
                                        android:id="@+id/tvMessages"
                                    android:layout_width="fill_parent"
                                    android:layout_height="fill_parent"
                                    android:text=""
                                    />

                </ScrollView>

        </LinearLayout>


        <!--  Linear Layout 2: settings -->
        <LinearLayout
                    android:orientation="vertical"
                    android:layout_width="fill_parent"
                    android:layout_height="fill_parent"
                    >


                <TableRow
                        android:id="@+id/TableRow03"
                        android:layout_width="fill_parent"
                        android:layout_height="wrap_content">

                                <TextView
                                android:text="hello world"
                                android:id="@+id/asdfasdf2"
                                android:layout_width="fill_parent"
                                android:layout_height="wrap_content"
                                />
                </TableRow>                

        </LinearLayout>

</ViewFlipper>

Code-snippets aus der Haupttätigkeit:

/**
 * Attempt (not currently working) to work around this bug: http://code.google.com/p/android/issues/detail?id=6191
 * TODO: make it work.
 */
@Override
public void onDetachedFromWindow() {
        Log.d("Dash","OnDetachedFromWindow()");

        try {
        super.onDetachedFromWindow();
    }
    catch (Exception e) {
        ViewFlipper v = (ViewFlipper)findViewById(R.id.vFlipper);
        if (v != null) {
                Log.d("Dash","De-Bug hit. e=" + e.getMessage());
                v.stopFlipping();
        }
    }
}
InformationsquelleAutor Brad Hein | 2010-06-11
Schreibe einen Kommentar