异常信息
java.lang.IllegalStateException: Failure saving state: active HomeFragment{28d4dc6} has cleared index: -1
at android.support.v4.app.af.n(FragmentManager.java:2659)
at android.support.v4.app.ac.e(FragmentController.java:134)
at android.support.v4.app.FragmentActivity.onSaveInstanceState(FragmentActivity.java:571)
at android.support.v7.app.AppCompatActivity.onSaveInstanceState(AppCompatActivity.java:509)
at android.app.Activity.performSaveInstanceState(Activity.java:1318)
at android.app.Instrumentation.callActivityOnSaveInstanceState(Instrumentation.java:1300)
at android.app.ActivityThread.callCallActivityOnSaveInstanceState(ActivityThread.java:4539)
at android.app.ActivityThread.performStopActivityInner(ActivityThread.java:3895)
at android.app.ActivityThread.handleStopActivity(ActivityThread.java:3976)
at android.app.ActivityThread.-wrap22(ActivityThread.java)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1624)
at android.os.Handler.dispatchMessage(Handler.java:111)
at android.os.Looper.loop(Looper.java:207)
at android.app.ActivityThread.main(ActivityThread.java:5966)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:888)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:749)
解决方式,在Fragment的onCreate()方法中添加setRetainInstance(true);
@Override
public void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
//在配置变化的时候将这个fragment保存下来
setRetainInstance(true);
}