错误如日志如下
/**
* 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