На данный момент я очень расстроен. Я исследовал это несколько дней и не могу даже выделить что-либо, кроме проблемы с курсором. Я расширяю ListActivity и использую startManagingCursor(newcursor) в методе OnCreate. Вот код (база данных уже заполнена), который запускается и аварийно завершает работу при нажатии кнопки «Домой»:
02-03 13:41:42.379: WARN/dalvikvm(340): threadid=3: thread exiting with uncaught exception (group=0x4001b188)
02-03 13:41:42.389: ERROR/AndroidRuntime(340): Uncaught handler: thread main exiting due to uncaught exception
02-03 13:41:42.590: ERROR/AndroidRuntime(340): java.lang.RuntimeException: Unable to stop activity {com.skip.ngRCv2/com.skip.ngRCv2.ngRC}: java.lang.RuntimeException: Unable to stop activity {com.skip.ngRCv2/com.skip.ngRCv2.MusicLibraryActivity}: java.lang.NullPointerException
02-03 13:41:42.590: ERROR/AndroidRuntime(340): at android.app.ActivityThread.performStopActivityInner(ActivityThread.java:3227)
02-03 13:41:42.590: ERROR/AndroidRuntime(340): at android.app.ActivityThread.handleStopActivity(ActivityThread.java:3272)
02-03 13:41:42.590: ERROR/AndroidRuntime(340): at android.app.ActivityThread.access$2500(ActivityThread.java:119)
02-03 13:41:42.590: ERROR/AndroidRuntime(340): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1880)
02-03 13:41:42.590: ERROR/AndroidRuntime(340): at android.os.Handler.dispatchMessage(Handler.java:99)
02-03 13:41:42.590: ERROR/AndroidRuntime(340): at android.os.Looper.loop(Looper.java:123)
02-03 13:41:42.590: ERROR/AndroidRuntime(340): at android.app.ActivityThread.main(ActivityThread.java:4363)
02-03 13:41:42.590: ERROR/AndroidRuntime(340): at java.lang.reflect.Method.invokeNative(Native Method)
02-03 13:41:42.590: ERROR/AndroidRuntime(340): at java.lang.reflect.Method.invoke(Method.java:521)
02-03 13:41:42.590: ERROR/AndroidRuntime(340): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:860)
02-03 13:41:42.590: ERROR/AndroidRuntime(340): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:618)
02-03 13:41:42.590: ERROR/AndroidRuntime(340): at dalvik.system.NativeStart.main(Native Method) 02-03 13:41:42.590: ERROR/AndroidRuntime(340):
Caused by: java.lang.RuntimeException: Unable to stop activity {com.skip.ngRCv2/com.skip.ngRCv2.MusicLibraryActivity}: java.lang.NullPointerException
02-03 13:41:42.590: ERROR/AndroidRuntime(340): at android.app.ActivityThread.performStopActivityInner(ActivityThread.java:3227)
02-03 13:41:42.590: ERROR/AndroidRuntime(340): at android.app.ActivityThread.performStopActivity(ActivityThread.java:3174)
02-03 13:41:42.590: ERROR/AndroidRuntime(340): at android.app.LocalActivityManager.moveToState(LocalActivityManager.java:176)
02-03 13:41:42.590: ERROR/AndroidRuntime(340): at android.app.LocalActivityManager.dispatchStop(LocalActivityManager.java:572)
02-03 13:41:42.590: ERROR/AndroidRuntime(340): at android.app.ActivityGroup.onStop(ActivityGroup.java:79)
02-03 13:41:42.590: ERROR/AndroidRuntime(340): at android.app.Instrumentation.callActivityOnStop(Instrumentation.java:1169)
02-03 13:41:42.590: ERROR/AndroidRuntime(340): at android.app.Activity.performStop(Activity.java:3797)
02-03 13:41:42.590: ERROR/AndroidRuntime(340): at android.app.ActivityThread.performStopActivityInner(ActivityThread.java:3224)
02-03 13:41:42.590: ERROR/AndroidRuntime(340): ... 11 more
02-03 13:41:42.590: ERROR/AndroidRuntime(340):
Caused by: java.lang.NullPointerException
02-03 13:41:42.590: ERROR/AndroidRuntime(340): at android.app.Activity.performStop(Activity.java:3808)
02-03 13:41:42.590: ERROR/AndroidRuntime(340): at android.app.ActivityThread.performStopActivityInner(ActivityThread.java:3224)
02-03 13:41:42.590: ERROR/AndroidRuntime(340): ... 18 more
В Activity.performStop(Activity.java:3808) есть исключение NullPointerException, которое, похоже, исходит из этого метода в Activity.java, хотя я не могу перекрестно проверить это по номеру строки:
final void performStop() {
if (!mStopped) {
if (mWindow != null) {
mWindow.closeAllPanels();
}
mCalled = false;
mInstrumentation.callActivityOnStop(this);
if (!mCalled) {
throw new SuperNotCalledException(
"Activity " + mComponent.toShortString() +
" did not call through to super.onStop()");
}
synchronized (mManagedCursors) {
final int N = mManagedCursors.size();
for (int i=; i
Подробнее здесь: [url]https://stackoverflow.com/questions/4891100/why-is-my-activity-crashing-when-hitting-the-home-button[/url]
На данный момент я очень расстроен. Я исследовал это несколько дней и не могу даже выделить что-либо, кроме проблемы с курсором. Я расширяю ListActivity и использую startManagingCursor(newcursor) в методе OnCreate. Вот код (база данных уже заполнена), который запускается и аварийно завершает работу при нажатии кнопки «Домой»:
[code]02-03 13:41:42.379: WARN/dalvikvm(340): threadid=3: thread exiting with uncaught exception (group=0x4001b188) 02-03 13:41:42.389: ERROR/AndroidRuntime(340): Uncaught handler: thread main exiting due to uncaught exception
02-03 13:41:42.590: ERROR/AndroidRuntime(340): java.lang.RuntimeException: Unable to stop activity {com.skip.ngRCv2/com.skip.ngRCv2.ngRC}: java.lang.RuntimeException: Unable to stop activity {com.skip.ngRCv2/com.skip.ngRCv2.MusicLibraryActivity}: java.lang.NullPointerException 02-03 13:41:42.590: ERROR/AndroidRuntime(340): at android.app.ActivityThread.performStopActivityInner(ActivityThread.java:3227) 02-03 13:41:42.590: ERROR/AndroidRuntime(340): at android.app.ActivityThread.handleStopActivity(ActivityThread.java:3272) 02-03 13:41:42.590: ERROR/AndroidRuntime(340): at android.app.ActivityThread.access$2500(ActivityThread.java:119) 02-03 13:41:42.590: ERROR/AndroidRuntime(340): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1880) 02-03 13:41:42.590: ERROR/AndroidRuntime(340): at android.os.Handler.dispatchMessage(Handler.java:99) 02-03 13:41:42.590: ERROR/AndroidRuntime(340): at android.os.Looper.loop(Looper.java:123) 02-03 13:41:42.590: ERROR/AndroidRuntime(340): at android.app.ActivityThread.main(ActivityThread.java:4363) 02-03 13:41:42.590: ERROR/AndroidRuntime(340): at java.lang.reflect.Method.invokeNative(Native Method) 02-03 13:41:42.590: ERROR/AndroidRuntime(340): at java.lang.reflect.Method.invoke(Method.java:521) 02-03 13:41:42.590: ERROR/AndroidRuntime(340): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:860) 02-03 13:41:42.590: ERROR/AndroidRuntime(340): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:618) 02-03 13:41:42.590: ERROR/AndroidRuntime(340): at dalvik.system.NativeStart.main(Native Method) 02-03 13:41:42.590: ERROR/AndroidRuntime(340): Caused by: java.lang.RuntimeException: Unable to stop activity {com.skip.ngRCv2/com.skip.ngRCv2.MusicLibraryActivity}: java.lang.NullPointerException 02-03 13:41:42.590: ERROR/AndroidRuntime(340): at android.app.ActivityThread.performStopActivityInner(ActivityThread.java:3227) 02-03 13:41:42.590: ERROR/AndroidRuntime(340): at android.app.ActivityThread.performStopActivity(ActivityThread.java:3174) 02-03 13:41:42.590: ERROR/AndroidRuntime(340): at android.app.LocalActivityManager.moveToState(LocalActivityManager.java:176) 02-03 13:41:42.590: ERROR/AndroidRuntime(340): at android.app.LocalActivityManager.dispatchStop(LocalActivityManager.java:572) 02-03 13:41:42.590: ERROR/AndroidRuntime(340): at android.app.ActivityGroup.onStop(ActivityGroup.java:79) 02-03 13:41:42.590: ERROR/AndroidRuntime(340): at android.app.Instrumentation.callActivityOnStop(Instrumentation.java:1169) 02-03 13:41:42.590: ERROR/AndroidRuntime(340): at android.app.Activity.performStop(Activity.java:3797) 02-03 13:41:42.590: ERROR/AndroidRuntime(340): at android.app.ActivityThread.performStopActivityInner(ActivityThread.java:3224) 02-03 13:41:42.590: ERROR/AndroidRuntime(340): ... 11 more 02-03 13:41:42.590: ERROR/AndroidRuntime(340): Caused by: java.lang.NullPointerException 02-03 13:41:42.590: ERROR/AndroidRuntime(340): at android.app.Activity.performStop(Activity.java:3808) 02-03 13:41:42.590: ERROR/AndroidRuntime(340): at android.app.ActivityThread.performStopActivityInner(ActivityThread.java:3224) 02-03 13:41:42.590: ERROR/AndroidRuntime(340): ... 18 more [/code]
В Activity.performStop(Activity.java:3808) есть исключение NullPointerException, которое, похоже, исходит из этого метода в Activity.java, хотя я не могу перекрестно проверить это по номеру строки:
[code]final void performStop() { if (!mStopped) { if (mWindow != null) { mWindow.closeAllPanels(); }
mCalled = false; mInstrumentation.callActivityOnStop(this); if (!mCalled) { throw new SuperNotCalledException( "Activity " + mComponent.toShortString() + " did not call through to super.onStop()"); }
synchronized (mManagedCursors) { final int N = mManagedCursors.size(); for (int i=; i