Exception java.lang.IllegalStateException: Can not

2019-08-01 17:52发布

Exception java.lang.IllegalStateException: Can not perform this action after onSaveInstanceState

android.support.v4.app.FragmentManagerImpl.checkStateLoss (FragmentManager.java:1842) android.support.v4.app.FragmentManagerImpl.enqueueAction (FragmentManager.java:1860) android.support.v4.app.BackStackRecord.commitInternal (BackStackRecord.java:650) android.support.v4.app.BackStackRecord.commit (BackStackRecord.java:609) > com.bharat.example.adapter.Articles_Adapter$MyViewHolder.onClick (Articles_Adapter.java:147)

android.view.View.performClick (View.java:5201) android.view.View$PerformClick.run (View.java:21163) android.os.Handler.handleCallback (Handler.java:746) android.os.Handler.dispatchMessage (Handler.java:95) android.os.Looper.loop (Looper.java:148) android.app.ActivityThread.main (ActivityThread.java:5443) java.lang.reflect.Method.invoke (Method.java) com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run (ZygoteInit.java:728) com.android.internal.os.ZygoteInit.main (ZygoteInit.java:618)

the crash occurred when at FragmentTransaction commit().

FragmentTransaction transaction = ((Content_Activity) main).getSupportFragmentManager().beginTransaction();
                transaction.setCustomAnimations(R.anim.left_in, R.anim.left_out, R.anim.right_in, R.anim.right_out);
                transaction.replace(R.id.fragment_frame, fragment, "web");
                transaction.addToBackStack("home");
                transaction.commit();

using android.support.v4.app.FragmentTransaction

1条回答
孤傲高冷的网名
2楼-- · 2019-08-01 18:07

Add this line. It is working fine to me.

transaction.commitAllowingStateLoss()
查看更多
登录 后发表回答