java.lang.IllegalStateException: No activity
1975 ワード
エラーメッセージ:
java.lang.IllegalStateException: No activityat 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
バグ発生の原理問題及び解決方法は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()
その中の
Fieldは
java.lang.reflect.Field
バグの原因は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 activityat 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
バグ発生の原理問題及び解決方法は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);
}
}
その中の
Fieldは
java.lang.reflect.Field
バグの原因は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.