我正在使用Android兼容性包來使用Loaders。當我初始化一個加載程序或在onCreate
方法重新啓動它,它只是找到了,但當我重新啓動或初始化它在onStart
它會拋出一個錯誤,我想知道爲什麼「有些時候」當我initLoader在活動的onCreate
並在加載器將數據綁定到UI之前單擊某個按鈕將其快速移動到另一個活動,然後返回到之前啓動Loader的活動,加載器不會加載數據「UI上沒有任何內容?!!!! so我認爲移動initLoader到onStart
但它拋出一個錯誤onStart方法中的restartLoader拋出異常
07-13 03:19:15.140: E/AndroidRuntime(23179): java.lang.RuntimeException: Unable to resume activity {biz.dot.khtmeh/biz.dot.khtmeh.ui.HomeScreen}: java.lang.IllegalStateException: There is already a listener registered
07-13 03:19:15.140: E/AndroidRuntime(23179): at android.app.ActivityThread.performResumeActivity(ActivityThread.java:2444)
07-13 03:19:15.140: E/AndroidRuntime(23179): at android.app.ActivityThread.handleResumeActivity(ActivityThread.java:2472)
07-13 03:19:15.140: E/AndroidRuntime(23179): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1173)
07-13 03:19:15.140: E/AndroidRuntime(23179): at android.os.Handler.dispatchMessage(Handler.java:99)
07-13 03:19:15.140: E/AndroidRuntime(23179): at android.os.Looper.loop(Looper.java:137)
07-13 03:19:15.140: E/AndroidRuntime(23179): at android.app.ActivityThread.main(ActivityThread.java:4424)
07-13 03:19:15.140: E/AndroidRuntime(23179): at java.lang.reflect.Method.invokeNative(Native Method)
07-13 03:19:15.140: E/AndroidRuntime(23179): at java.lang.reflect.Method.invoke(Method.java:511)
07-13 03:19:15.140: E/AndroidRuntime(23179): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:784)
07-13 03:19:15.140: E/AndroidRuntime(23179): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:551)
07-13 03:19:15.140: E/AndroidRuntime(23179): at dalvik.system.NativeStart.main(Native Method)
07-13 03:19:15.140: E/AndroidRuntime(23179): Caused by: java.lang.IllegalStateException: There is already a listener registered
07-13 03:19:15.140: E/AndroidRuntime(23179): at android.support.v4.content.Loader.registerListener(Loader.java:130)
07-13 03:19:15.140: E/AndroidRuntime(23179): at android.support.v4.app.LoaderManagerImpl$LoaderInfo.start(LoaderManager.java:259)
07-13 03:19:15.140: E/AndroidRuntime(23179): at android.support.v4.app.LoaderManagerImpl.installLoader(LoaderManager.java:509)
07-13 03:19:15.140: E/AndroidRuntime(23179): at android.support.v4.app.LoaderManagerImpl.createAndInstallLoader(LoaderManager.java:496)
07-13 03:19:15.140: E/AndroidRuntime(23179): at android.support.v4.app.LoaderManagerImpl.restartLoader(LoaderManager.java:642)
您的logcat明確指出您的問題:「由於:java.lang.IllegalStateException:已經有一個已註冊的監聽器」您正試圖註冊某種已經在android.support註冊過的監聽器(IE。 .v4.content.Loader.registerListener(Loader.java:130)「)。您應該嘗試檢查,以確定聽衆是否已經註冊。 – Guardanis 2012-07-13 01:07:21