以下是我的日志重新发布
致命异常:java.lang.RuntimeException:无法恢复活动{com.maruticourier.android/com.marutideliver.activity.MainActivity}:java.lang.IllegalStateException:onSaveInstanceState后无法执行此操作 在android.app.ActivityThread.performResumeActivity(ActivityThread.java:3069) 在android.app.ActivityThread.handleResumeActivity(ActivityThread.java:3098) 在android.app.ActivityThread $ H.handleMessage(ActivityThread.java:1350) 在android.os.Handler.dispatchMessage(Handler.java:102) 在android.os.Looper.loop(Looper.java:146) 在android.app.ActivityThread.main(ActivityThread.java:5653) at java.lang.reflect.Method.invokeNative(Method.java) 在java.lang.reflect.Method.invoke(Method.java:515) 在com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run(ZygoteInit.java:1291) 在com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1107) 在dalvik.system.NativeStart.main(NativeStart.java) 由java.lang.IllegalStateException引起:在onSaveInstanceState之后无法执行此操作 在android.support.v4.app.FragmentManagerImpl.checkStateLoss(FragmentManager.java:1365) 在android.support.v4.app.FragmentManagerImpl.enqueueAction(FragmentManager.java:1383) 在android.support.v4.app.BackStackRecord.commitInternal(BackStackRecord.java:636) 在android.support.v4.app.BackStackRecord.commit(BackStackRecord.java:615) at com.marutideliver.activity.MainActivity.selectItem(MainActivity.java:485) 在com.marutideliver.activity.MainActivity.onResume(MainActivity.java:810) 在android.app.Instrumentation.callActivityOnResume(Instrumentation.java:1198) 在android.app.Activity.performResume(Activity.java:5620) 在android.app.ActivityThread.performResumeActivity(ActivityThread.java:3059) 在android.app.ActivityThread.handleResumeActivity(ActivityThread.java:3098) 在android.app.ActivityThread $ H.handleMessage(ActivityThread.java:1350) 在android.os.Handler.dispatchMessage(Handler.java:102) 在android.os.Looper.loop(Looper.java:146) 在android.app.ActivityThread.main(ActivityThread.java:5653) at java.lang.reflect.Method.invokeNative(Method.java) 在java.lang.reflect.Method.invoke(Method.java:515) 在com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run(ZygoteInit.java:1291) 在com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1107) 在dalvik.system.NativeStart.main(NativeStart.java)
答案 0 :(得分:1)
你可能有一个非静态子类(我猜它是一个片段),你的活动每次恢复时都无法实例化。如果您有这样的子类,只需将其设置为静态。
答案 1 :(得分:0)
这是支持包中的错误。为避免这种情况,您可以在片段事务处理期间使用以下内容。
transaction.commitAllowingStateLoss();
答案 2 :(得分:0)
可能是因为使用add()
方法多次使用公共方法,如
public void beginTransaction(ID id, Bundle bundle)
避免使用
fragmentmanager.begintransaction().add
每次,
也可以将其用于替换
fragmentmanager.begintransaction().replace(r.id.frame_container, fragment).commit()
答案 3 :(得分:-1)
可能是因为没有覆盖onResume()方法,你必须覆盖并恢复上一个商店的保存实例