FragmentStatePagerAdapter を使用するアクティビティの onResume() で、いくつかのケースでこれを取得しています。デバイスの戻るボタンを使用する場合。常にではない。再現できません。
サポート パッケージ v4、最終リビジョン (8) を使用しています。
すでにグーグルで検索していますが、有用な答えを見つけることに成功していません。
ソースを見ると、ここにスローされています: FragmentManager.java
@Override
public void putFragment(Bundle bundle, String key, Fragment fragment) {
if (fragment.mIndex < 0) {
throw new IllegalStateException("Fragment " + fragment
+ " is not currently in the FragmentManager");
}
bundle.putInt(key, fragment.mIndex);
}
しかし、フラグメントのインデックス < 0 があるのはなぜですか?
フラグメントをインスタンス化するコード:
@Override
public Fragment getItem(int position) {
Fragment fragment = null;
switch(position) {
case 0:
fragment = MyFragment.newInstance(param1);
break;
case 1:
fragment = MyFragment2.newInstance(param2, param3);
break;
}
return fragment;
}
@Override
public int getCount() {
return 2;
}