NotSerializableException al presionar el botón de inicio

Yo tengo unActivity en el que tengo una clase privada de datos. En elonSaveInstanceState Método, trato de guardar esto una instancia deData. Esta es toda mi actividad:

<code>public class TestActivity extends Activity {
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
    }

    @Override
    public void onSaveInstanceState(Bundle outState){
        outState.putSerializable("TEST", new Data());
    }

    private class Data implements Serializable {

        private static final long serialVersionUID = -4312723541994925110L;

    }
}
</code>

Ahora cuando cambio la orientación del dispositivo, elData El objeto se guarda y se lee como debería. Sin embargo, cuando presiono el botón de inicio, la aplicación falla con lo siguiente en el logcat:

05-10 20: 05: 51.895: E / AndroidRuntime (30317): EXCEPCIÓN FATAL: principal 05-10 20: 05: 51.895: E / AndroidRuntime (30317): java.lang.RuntimeException: Objeto serializable IOException encontrado (nombre = com.rigidbits.test.TestActivity $ Data) 05-10 20: 05: 51.895: E / AndroidRuntime (30317): en android.os.Parcel.writeSerializable (Parcel.java:1176) 05-10 20: 05: 51.895 : E / AndroidRuntime (30317): en android.os.Parcel.writeValue (Parcel.java:1130) 05-10 20: 05: 51.895: E / AndroidRuntime (30317): en android.os.Parcel.writeMapInternal (Parcel. java: 488) 05-10 20: 05: 51.895: E / AndroidRuntime (30317): en android.os.Bundle.writeToParcel (Bundle.java:1552) 05-10 20: 05: 51.895: E / AndroidRuntime (30317) : en android.os.Parcel.writeBundle (Parcel.java:502) 05-10 20: 05: 51.895: E / AndroidRuntime (30317): en android.app.ActivityManagerProxy.activityPaused (ActivityManagerNative.java:1615) 05-10 20: 05: 51.895: E / AndroidRuntime (30317): en android.app.ActivityThread.handlePauseActivity (ActivityThread.java:2298) 05-10 20:05 : 51.895: E / AndroidRuntime (30317): en android.app.ActivityThread.access $ 1700 (ActivityThread.java:117) 05-10 20: 05: 51.895: E / Android Runtime (30317): at android.app.ActivityThread $ H .handleMessage (ActivityThread.java:938) 05-10 20: 05: 51.895: E / AndroidRuntime (30317): en android.os.Handler.dispatchMessage (Handler.java:99) 05-10 20: 05: 51.895: E / AndroidRuntime (30317): en android.os.Looper.loop (Looper.java:130) 05-10 20: 05: 51.895: E / AndroidRuntime (30317): en android.app.ActivityThread.main (ActivityThread.java: 3683) 05-10 20: 05: 51.895: E / AndroidRuntime (30317): en java.lang.reflect.Method.invokeNative (Método nativo) 05-10 20: 05: 51.895: E / AndroidRuntime (30317): en java .lang.reflect.Method.invoke (Method.java:507) 05-10 20: 05: 51.895: E / AndroidRuntime (30317): en com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run (ZygoteInit.java: 862) 05-10 20: 05: 51.895: E / AndroidRuntime (30317): en com.android.internal.os.ZygoteInit.main (ZygoteInit.java:620) 05-10 20: 05: 51.895: E / Android Runtime ( 30317): en dalvik .system.NativeStart.main (Método nativo) 05-10 20: 05: 51.895: E / AndroidRuntime (30317): causado por: java.io.NotSerializableException: com.rigidbits.test.TestActivity 05-10 20: 05: 51.895 : E / AndroidRuntime (30317): en java.io.ObjectOutputStream.writeNewObject (ObjectOutputStream.java:1535) 05-10 20: 05: 51.895: E / AndroidRuntime (30317): at java.io.ObjectOutputStream.writeObjectInAL java: 1847) 05-10 20: 05: 51.895: E / AndroidRuntime (30317): en java.io.ObjectOutputStream.writeObject (ObjectOutputStream.java:1689) 05-10 20: 05: 51.895: E / Android Runtime (30317) : en java.io.ObjectOutputStream.writeObject (ObjectOutputStream.java:1653) 05-10 20: 05: 51.895: E / AndroidRuntime (30317): en java.io.ObjectOutputStream.writeFieldValues ​​(ObjectOutputStream.java:1111 05/05) 20: 05: 51.895: E / AndroidRuntime (30317): en java.io.ObjectOutputStream.defaultWriteObject (ObjectOutputStream.java:413) 05-10 20: 05: 51.895: E / AndroidRuntime (30317): en java.io.ObjectOutputStream .writeHierarchy (ObjectOutputStream.java: 1241) 05-10 20: 05: 51.895: E / AndroidRuntime (30317): en java.io.ObjectOutputStream.writeNewObject (ObjectOutputStream.java:1575) 05-10 20: 05: 51.895: E / Android Runtime (30317): at java.io.ObjectOutputStream.writeObjectInternal (ObjectOutputStream.java:1847) 05-10 20: 05: 51.895: E / AndroidRuntime (30317): en java.io.ObjectOutputStream.writeObject (ObjectOutputStream.java:1689) 05-05 05: 51.895: E / AndroidRuntime (30317): en java.io.ObjectOutputStream.writeObject (ObjectOutputStream.java:1653) 05-10 20: 05: 51.895: E / AndroidRuntime (30317): at android.os.Parcel.writeSerializable (Parcel.java:1171) 05-10 20: 05: 51.895: E / AndroidRuntime (30317): ... 16 más

Cuando comento la línea en elonSaveInstanceState método para elData objeto esno Guardada, la aplicación desaparece correctamente.

¿Alguna ayuda con esto?

Respuestas a la pregunta(1)

Su respuesta a la pregunta