java.lang.IllegalStateException: No activity
2016-06-20 15:50
387 查看
错误提示:
Java.lang.IllegalStateException:
No activity
at Android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1075)
at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1070)
at android.support.v4.app.FragmentManagerImpl.dispatchActivityCreated(FragmentManager.java:1861)
at android.support.v4.app.Fragment.performActivityCreated(Fragment.java:1474)
at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:931)
at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1088)
.......
这个问题是在解决上一篇文章(http://blog.csdn.net/leewenjin/article/details/19409863)中指出的问题后出现的。问题解决方法是参考文章:
http://stackoverflow.com/questions/15207305/getting-the-error-java-lang-illegalstateexception-activity-has-been-destroyed
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()
[java] view
plain copy
@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);
}
}
其中的Field 是
java.lang.reflect.Field
引起bug的原因
If you look at the implementation of Fragment, you'll see that when moving to the detached state, it'll reset its internal state. However, it doesn't reset mChildFragmentManager (this is a bug in the current version of the support library). This causes it to
not reattach the child fragment manager when the Fragment is reattached, causing the exception you saw.
Java.lang.IllegalStateException:
No activity
at Android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1075)
at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1070)
at android.support.v4.app.FragmentManagerImpl.dispatchActivityCreated(FragmentManager.java:1861)
at android.support.v4.app.Fragment.performActivityCreated(Fragment.java:1474)
at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:931)
at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1088)
.......
这个问题是在解决上一篇文章(http://blog.csdn.net/leewenjin/article/details/19409863)中指出的问题后出现的。问题解决方法是参考文章:
http://stackoverflow.com/questions/15207305/getting-the-error-java-lang-illegalstateexception-activity-has-been-destroyed
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()
[java] view
plain copy
@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);
}
}
其中的Field 是
java.lang.reflect.Field
引起bug的原因
If you look at the implementation of Fragment, you'll see that when moving to the detached state, it'll reset its internal state. However, it doesn't reset mChildFragmentManager (this is a bug in the current version of the support library). This causes it to
not reattach the child fragment manager when the Fragment is reattached, causing the exception you saw.
相关文章推荐
- BOS项目练习(activiti,历史数据操作,流程变量,任务组,监听器,网关,spring整合)
- java 值传递和对象传递
- (转)java反编译i++和++i问题
- eclipse(快捷键)积累中............
- Cookie学习和个人浅见
- Java InputStream读取数据问题
- 谈谈我对类加载器的理解
- NumberOf1 Java解法
- java中的函数式编程(一)
- java7的新特性
- Java实现AES加密解密
- 《java并发编程实战》第10章:避免活跃性危险
- 关于eclipse中隐藏每个project中的defalut package问题
- java生成word文档
- java抓取网页数据
- springMVC注解优化
- 学习总结 java 数据库 ResultSet 、PreparedStatement
- org.springframework.util 类 Assert的使用
- JAVA学习分享Input Output
- java 定时器quartz使用