FragmentStatePagerAdapter IllegalStateException : в настоящее время не находится в FragmentManager

Я получаю это в некоторых случаях в onResume ()действия, которое использует FragmentStatePagerAdapter. При использовании кнопки возврата устройства. Не всегда. Не воспроизводимо.

Я использую пакет поддержки v4, последняя версия (8 ).

Уже искал с помощью Google, не удалось найти полезный ответ.

Глядя в исходники, выкинул сюда :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;
}
28
задан Ixx 22 April 2019 в 15:55
поделиться