Tengo un bloqueo en mi aplicación cuando salgo de mi Actividad (a través del botón Atrás). Por lo que puedo decir, esto está sucediendo en la base de código de Android y no en la mía, pero no estoy completamente convencido de eso.¿Por qué me da un accidente al salir de mi actividad?
Aquí está la StackTrace de ADB:
AndroidRuntime E Uncaught handler: thread main exiting due to uncaught exception
AndroidRuntime E java.lang.RuntimeException: Unable to stop activity {MyApp/MyApp.MainActivity}: java.lang.NullPointerException
AndroidRuntime E at android.app.ActivityThread.performDestroyActivity(ActivityThread.java:3097)
AndroidRuntime E at android.app.ActivityThread.handleDestroyActivity(ActivityThread.java:3159)
AndroidRuntime E at android.app.ActivityThread.access$2400(ActivityThread.java:112)
AndroidRuntime E at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1724)
AndroidRuntime E at android.os.Handler.dispatchMessage(Handler.java:99)
AndroidRuntime E at android.os.Looper.loop(Looper.java:123)
AndroidRuntime E at android.app.ActivityThread.main(ActivityThread.java:3948)
AndroidRuntime E at java.lang.reflect.Method.invokeNative(Native Method)
AndroidRuntime E at java.lang.reflect.Method.invoke(Method.java:521)
AndroidRuntime E at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:782)
AndroidRuntime E at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:540)
AndroidRuntime E at dalvik.system.NativeStart.main(Native Method)
AndroidRuntime E Caused by: java.lang.NullPointerException
AndroidRuntime E at android.app.Activity.performStop(Activity.java:3575)
AndroidRuntime E at android.app.ActivityThread.performDestroyActivity(ActivityThread.java:3092)
AndroidRuntime E ... 11 more
Alguien tiene alguna idea y/o recomendaciones?
Creo que deberían ser gestionados por la Actividad ... He llamado a startManagingCursor() en el único Cursor que estoy usando. ¿No debería esto manejar eso? –
De los documentos: Este método permite que la actividad se encargue de administrar el ciclo de vida del Cursor dado para usted en función del ciclo de vida de la actividad. Es decir, cuando se detiene la actividad, automáticamente se llamará deactivate() en el Cursor dado, y cuando se reinicie más tarde llamará a requery() por usted. Cuando se destruye la actividad, todos los cursores gestionados se cerrarán automáticamente. –
¿No es eso exactamente lo que el código que publicaste debería estar haciendo? –