android Java.lang.IllegalStateException: No activity 解决方法
2017-03-03 16:22
1896 查看
错误如日志如下
/**
* 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)
*/
解决方法是:在所在每个Fragment里重写如下方法解决
@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://blog.csdn.net/leewenjin/article/details/19410949
/**
* 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)
*/
解决方法是:在所在每个Fragment里重写如下方法解决
@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://blog.csdn.net/leewenjin/article/details/19410949
相关文章推荐
- 访问tomcat出现java.lang.IllegalStateException No output folder错误解决方法
- 访问tomcat出现java.lang.IllegalStateException No output folder错误解决方法
- 单例 fragment getChildFragmentManager java.lang.IllegalStateException: No activity
- 使用Android提供的模拟任意地理位置,报java.lang.IllegalArgumentException: Incomplete location object异常的解决方法
- java.lang.IllegalStateException: No match found 的分析解决
- 使用Android提供的模拟任意地理位置,报java.lang.IllegalArgumentException: Incomplete location object异常的解决方法
- java.lang.IllegalStateException: No activity
- java.lang.IllegalArgumentException: No origin bean specified解决方法
- java.lang.IllegalStateException: Failed to load ApplicationContext异常解决方法
- java.lang.IllegalStateException: Can not perform this action after onSaveInstanceState的解决方法
- java.lang.IllegalStateException: Form too many key解决方法
- java.lang.IllegalStateException: No activity
- java.lang.IllegalStateException: Cannot forward after response has been committed几个解决方法
- java.lang.IllegalStateException错误原因以及解决方法
- Android调用JNI出错 java.lang.UnsatisfiedLinkError: No implementation found for的解决方法
- java.lang.IllegalStateException: No FacesContext is available to process this request的另一种处理方法
- java.lang.IllegalStateException: No activity
- java.lang.IllegalStateException: getOutputStream() has already been called 解决方法
- java.lang.IllegalStateException: No activity 错误...
- Android调用JNI出错 java.lang.UnsatisfiedLinkError: No implementation found for的解决方法