Mam projekt dla HoneyComb i pojawia się błąd po użyciu metody reconate() w metodzie onResum() w mojej głównej aktywności.wykonywanie pauzy aktywności, która nie została wznowiona po odtworzeniu metody
11-10 22:05:42.090: E/ActivityThread(1917): Performing pause of activity that is not resumed: {com.blogspot.honeyapp/com.blogspot.honeyapp.Main}
11-10 22:05:42.090: E/ActivityThread(1917): java.lang.RuntimeException: Performing pause of activity that is not resumed: {com.blogspot.honeyapp/com.blogspot.honeyapp.Main}
11-10 22:05:42.090: E/ActivityThread(1917): at android.app.ActivityThread.performPauseActivity(ActivityThread.java:2517)
11-10 22:05:42.090: E/ActivityThread(1917): at android.app.ActivityThread.performPauseActivity(ActivityThread.java:2505)
11-10 22:05:42.090: E/ActivityThread(1917): at android.app.ActivityThread.handlePauseActivity(ActivityThread.java:2483)
11-10 22:05:42.090: E/ActivityThread(1917): at android.app.ActivityThread.access$700(ActivityThread.java:122)
11-10 22:05:42.090: E/ActivityThread(1917): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1031)
11-10 22:05:42.090: E/ActivityThread(1917): at android.os.Handler.dispatchMessage(Handler.java:99)
11-10 22:05:42.090: E/ActivityThread(1917): at android.os.Looper.loop(Looper.java:132)
11-10 22:05:42.090: E/ActivityThread(1917): at android.app.ActivityThread.main(ActivityThread.java:4123)
11-10 22:05:42.090: E/ActivityThread(1917): at java.lang.reflect.Method.invokeNative(Native Method)
11-10 22:05:42.090: E/ActivityThread(1917): at java.lang.reflect.Method.invoke(Method.java:491)
11-10 22:05:42.090: E/ActivityThread(1917): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:841)
11-10 22:05:42.090: E/ActivityThread(1917): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:599)
11-10 22:05:42.090: E/ActivityThread(1917): at dalvik.system.NativeStart.main(Native Method)
Tworzę nowy projekt, aby pokazać, co się dzieje.
Można go znaleźć na http://xp-dev.com/svn/RecreateError/trunk/
Nie wiem, co moja wina, ale zacznę aktywny i zalogować cyklem aktywności użytkownika. Rezultat:
11-10 22:26:45.960: I/seasons log(2274): onCreate()
11-10 22:26:45.990: I/seasons log(2274): onStart()
11-10 22:26:45.990: I/seasons log(2274): onResume()
Teraz naciśnij Action Bar Ikona aktywować flagę odtworzyć i przejść do innej aplikacji ...
11-10 22:30:26.390: I/seasons log(2274): onPause()
11-10 22:30:27.080: I/seasons log(2274): onStop()
i powrócić do mojej działalności z flagą odtworzyć aktywowanym co będzie zrobione restoreate() w onResume().
11-10 22:33:05.500: I/seasons log(2274): onCreate()
11-10 22:33:05.510: I/seasons log(2274): onStart()
11-10 22:33:05.510: I/seasons log(2274): onResume()
11-10 22:33:05.510: I/seasons log(2274): onPause()
onPause? Ale moja aktywność jest widoczna, co robię źle? Poprawny status to nie onResume()?
A teraz, gdy zmienię na inną aplikację, pojawia się błąd.
Dziękuję za poświęcony czas i przepraszam za mój zły angielski.
W tej chwili nie rozumiem, jak aplikacje takie jak File Manager HD wykonują tę akcję.
Dwie czynności: Główna aktywność A, aktywność B z PreferenceFragment jako główną treść.
Jedną z opcji, która zmienia motyw pomiędzy Holo i Holo.Light, zmiany Działalność B o OnSharedPreferenceChangeListener
metody w PreferenceFragment ale kiedy wrócimy do głównej działalności recreate()
sposobu na onResume()
nie powiedzie się, jak to zrobić?
Jestem zakłopotany. Przepraszam.
UPS. W prawdziwej aplikacji ten kod nie istnieje, ale dziękuję. Wielki błąd dla mnie. – seasonsend