user5808462
user5808462

Reputation:

Fatal Exception: java.lang.RuntimeException: Unable to resume activity

Following is My Log Repost

Fatal Exception: java.lang.RuntimeException: Unable to resume activity {com.maruticourier.android/com.marutideliver.activity.MainActivity}: java.lang.IllegalStateException: Can not perform this action after onSaveInstanceState at android.app.ActivityThread.performResumeActivity(ActivityThread.java:3069) at android.app.ActivityThread.handleResumeActivity(ActivityThread.java:3098) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1350) at android.os.Handler.dispatchMessage(Handler.java:102) at android.os.Looper.loop(Looper.java:146) at android.app.ActivityThread.main(ActivityThread.java:5653) at java.lang.reflect.Method.invokeNative(Method.java) at java.lang.reflect.Method.invoke(Method.java:515) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1291) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1107) at dalvik.system.NativeStart.main(NativeStart.java) Caused by java.lang.IllegalStateException: Can not perform this action after onSaveInstanceState at android.support.v4.app.FragmentManagerImpl.checkStateLoss(FragmentManager.java:1365) at android.support.v4.app.FragmentManagerImpl.enqueueAction(FragmentManager.java:1383) at android.support.v4.app.BackStackRecord.commitInternal(BackStackRecord.java:636) at android.support.v4.app.BackStackRecord.commit(BackStackRecord.java:615) at com.marutideliver.activity.MainActivity.selectItem(MainActivity.java:485) at com.marutideliver.activity.MainActivity.onResume(MainActivity.java:810) at android.app.Instrumentation.callActivityOnResume(Instrumentation.java:1198) at android.app.Activity.performResume(Activity.java:5620) at android.app.ActivityThread.performResumeActivity(ActivityThread.java:3059) at android.app.ActivityThread.handleResumeActivity(ActivityThread.java:3098) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1350) at android.os.Handler.dispatchMessage(Handler.java:102) at android.os.Looper.loop(Looper.java:146) at android.app.ActivityThread.main(ActivityThread.java:5653) at java.lang.reflect.Method.invokeNative(Method.java) at java.lang.reflect.Method.invoke(Method.java:515) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1291) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1107) at dalvik.system.NativeStart.main(NativeStart.java)

Upvotes: 1

Views: 7266

Answers (4)

user5850683
user5850683

Reputation:

It's may be because of not overwrite onResume() method you must overwite and restore your save-instance that previous store

Upvotes: -3

Shree Krishna
Shree Krishna

Reputation: 8562

It's may be because of using add() method many times with public method like

 public void beginTransaction(ID id, Bundle bundle)

Avoid using

fragmentmanager.begintransaction().add

each time,

Use this too for replacing

fragmentmanager.begintransaction().replace(r.id.frame_container, fragment).commit()

Upvotes: 0

Jagoan Neon
Jagoan Neon

Reputation: 1128

You probably have a non-static subclass (I'm guessing it's a fragment) that your activity fails to instantiate every time it is resumed. In case you have such subclass, just make it static.

Upvotes: 1

Anirudh Sharma
Anirudh Sharma

Reputation: 7974

This is a bug in support package.To avoid this you can use following during fragment transaction.

transaction.commitAllowingStateLoss();

If you google it you'll find many good answers to it.For more reference and alternate methods see this SO post and this SO post.Hope it helps.

Upvotes: 1

Related Questions