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

核能气质少年 提交于 2019-12-13 17:55:11

问题


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:


Add this line. It is working fine to me.

transaction.commitAllowingStateLoss()


来源:https://stackoverflow.com/questions/45809011/exception-java-lang-illegalstateexception-can-not-perform-this-action-after-ons

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!