我有一个 HoneyComb 项目,在我的主 Activity 的 onResum() 方法中使用 recreate() 方法后出现错误。
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)
我创建了一个新项目来向您展示发生了什么。
您可以在http://xp-dev.com/svn/RecreateError/trunk/找到它
我不知道我的错是什么,但我启动了 Activity 并记录了 Activity 的生命周期。结果:
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()
现在我按下操作栏图标来激活重新创建标志并更改为其他应用程序...
11-10 22:30:26.390: I/seasons log(2274): onPause()
11-10 22:30:27.080: I/seasons log(2274): onStop()
并返回我的活动,激活重新创建标志,在 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()
暂停?但是我的活动是可见的,我做错了什么?正确的状态不是 onResume()?
现在,如果我更改为另一个应用程序,我会收到错误消息。
感谢您的宝贵时间,并为我糟糕的英语感到抱歉。
目前我不明白 File Manager HD 之类的应用程序是如何执行此操作的。
两个Activity:以PreferenceFragment为主要内容的Main Activity A、Activity B。
一个在 Holo 和 Holo.Light 之间改变主题的选项,Activity B 用OnSharedPreferenceChangeListener
PreferenceFragment 中的方法改变,但是当我们回到 Main Activityrecreate()
方法onResume()
失败时,怎么做?
我很困惑。对不起。