Tôi đang gặp sự cố trong ứng dụng khi tôi thoát (thông qua nút quay lại) trong Hoạt động của tôi. Cho đến nay tôi có thể nói điều này đang xảy ra trong hệ thống codebase của Android chứ không phải của tôi, nhưng tôi không hoàn toàn tin vào điều đó.Tại sao tôi gặp sự cố khi thoát Hoạt động của tôi?
Đây là stacktrace từ 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
Bất cứ ai có bất cứ ý tưởng/kiến nghị?
Tôi nghĩ rằng chúng nên được quản lý bởi Hoạt động ... Tôi đã gọi startManagingCursor() trên con trỏ duy nhất mà tôi đang sử dụng. Không nên điều này xử lý? –
Từ tài liệu: Phương pháp này cho phép hoạt động chăm sóc quản lý vòng đời của Con trỏ cho bạn dựa trên vòng đời của hoạt động. Đó là, khi hoạt động được dừng lại, nó sẽ tự động gọi deactivate() trên Cursor đã cho, và khi nó được khởi động lại sau đó nó sẽ gọi requery() cho bạn. Khi hoạt động bị hủy, tất cả các con trỏ được quản lý sẽ tự động bị đóng. –
Đó không phải là thực sự chính xác những gì mã bạn đăng cần được làm? –