异常 java.lang.IllegalStateException:onSaveInstanceState 后无法执行此操作
Posted
技术标签:
【中文标题】异常 java.lang.IllegalStateException:onSaveInstanceState 后无法执行此操作【英文标题】:Exception java.lang.IllegalStateException: Can not perform this action after onSaveInstanceState 【发布时间】:2018-01-30 05:32:44 【问题描述】:
android.support.v4.app.FragmentManagerImpl.checkStateLoss (片段管理器.java:1842) android.support.v4.app.FragmentManagerImpl.enqueueAction (片段管理器.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)
在 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();
使用 android.support.v4.app.FragmentTransaction
【问题讨论】:
【参考方案1】:添加这一行。它对我来说很好。
transaction.commitAllowingStateLoss()
【讨论】:
这是可行的,因为导致此错误的常见问题是在某种程度上您对片段管理不善,并且在您调用onSaveInstanceState(outState)
之后,FragmentManager 正在调用片段的commit()
方法。确保不保存片段的最终状态以上是关于异常 java.lang.IllegalStateException:onSaveInstanceState 后无法执行此操作的主要内容,如果未能解决你的问题,请参考以下文章
Kotlin 协程协程异常处理 ① ( 根协程异常处理 | 自动传播异常 | 在协程体捕获异常 | 向用户暴露异常 | 在 await 处捕获异常 | 非根协程异常处理 | 异常传播特性 )
Kotlin 协程协程异常处理 ① ( 根协程异常处理 | 自动传播异常 | 在协程体捕获异常 | 向用户暴露异常 | 在 await 处捕获异常 | 非根协程异常处理 | 异常传播特性 )