Java.lang.IllegalStateException Activity has been destroyed
来源:互联网 发布:ipad pro 10.5淘宝 编辑:程序博客网 时间:2024/06/05 14:52
Java.lang.IllegalStateException Activity has been destroyed
03-04 12:01:05.468: E/AndroidRuntime(2474): FATAL EXCEPTION: main
java.lang.IllegalStateException: Activity has been destroyed
at android.app.FragmentManagerImpl.enqueueAction(FragmentManager.java:1345)
at android.app.BackStackRecord.commitInternal(BackStackRecord.java:597)
at android.app.BackStackRecord.commitAllowingStateLoss(BackStackRecord.java:579)
at android.support.v13.app.FragmentPagerAdapter.finishUpdate(FragmentPagerAdapter.java:143)
at android.support.v4.view.ViewPager.dataSetChanged(ViewPager.java:892)
bug出现的原理问题及解决方法是
This seems to be a bug in the newly added support for nested fragments. Basically, the child FragmentManager ends up with a broken internal state when it is detached from the activity. A short-term workaround that fixed it for me is to add the following to onDetach() of every Fragment which you call getChildFragmentManager() on:
解决方法重写onDetach()
@Override
public void onDetach() {
super.onDetach();
try {
Field childFragmentManager = Fragment.class.getDeclaredField("mChildFragmentManager");
childFragmentManager.setAccessible(true);
childFragmentManager.set(this, null);
} catch (NoSuchFieldException e) {
throw new RuntimeException(e);
} catch (IllegalAccessException e) {
throw new RuntimeException(e);
}
}
问题解决方法是参考文章:http://stackoverflow.com/questions/15207305/getting-the-error-java-lang-illegalstateexception-activity-has-been-destroyed
- java.lang.IllegalStateException: Activity has been destroyed
- Java.lang.IllegalStateException Activity has been destroyed
- Java.lang.IllegalStateException Activity has been destroyed
- Java.lang.IllegalStateException Activity has been destroyed
- Android:Java.lang.IllegalStateException Activity has been destroyed
- Java.lang.IllegalStateException Activity has been destroyed(Fragment+ViewPage)
- 解决Fragment相关问题,java-lang-illegalstateexception-activity-has-been-destroyed
- 解决Fragment相关问题,java-lang-illegalstateexception-activity-has-been-destroyed
- 解决Fragment相关问题,java-lang-illegalstateexception-activity-has-been-destroyed
- 错误:Activity has been destroyed
- java.lang.IllegalStateException: Content has been
- ..java.lang.IllegalStateException: Content has been consumed..
- activity has been destroyed ,使用 fragment时
- java.lang.IllegalStateException: Cannot forward after response has been committed
- java.lang.IllegalStateException: Response has already been committed
- java.lang.IllegalStateException: Cannot forward after response has been committed
- java.lang.IllegalStateException: Cannot forward after response has been committed
- java.lang.IllegalStateException: getOutputStream() has already been call
- 我的一些总结
- vs2015 编译 leela zero
- 利用Sqoop将MySQL海量测试数据导入HDFS和HBase
- StringUtils中 isNotEmpty 和isNotBlank的区别
- 用try...catch对异常代码进行处理
- Java.lang.IllegalStateException Activity has been destroyed
- jquery 无缝轮播
- Spring基础知识整理
- 从0到1优雅的实现PHP多进程管理
- Hadoop伪分布式集群搭建
- JNI ReferenceTable overflow泄露问题
- C语言编写Dijkstra算法及生成图
- JS使用getJSON获取站点配置文件
- (算法分析Week15)01Matrix[Medium]