IllegalStateException: фрагмент уже добавлен - PullRequest
0 голосов
/ 25 сентября 2018

Я получил эту ошибку:

java.lang.IllegalStateException: Fragment already added: MenuBottomSheetFragment{d476429 #0}
    at android.support.v4.app.FragmentManagerImpl.addFragment(FragmentManager.java:1891)
    at android.support.v4.app.BackStackRecord.executeOps(BackStackRecord.java:760)

Мой код при открытии нажал MenuBottomSheetFragment:

private void openBottomSheet() {
        if (mMenuBottomSheetFragment == null)
            mMenuBottomSheetFragment = new MenuBottomSheetFragment();
        if (!mMenuBottomSheetFragment.isShowing())
            mMenuBottomSheetFragment.show(getSupportFragmentManager(), mMenuBottomSheetFragment.getTag());
    }

И мои MenuBottomSheetFragment не имеют ничего особенного.

Я действительно понятия не имею, почему.Большую часть времени MenuBottomSheetFragment работает нормально.Но какое-то время выдает это Исключение , тогда я ничего не делаю.

Так в чем же проблема в моем случае?И как я могу это исправить?

Ответы [ 2 ]

0 голосов
/ 25 сентября 2018

Замените isShowing следующим:

 if(!mMenuBottomSheetFragment.isAdded()) {
      mMenuBottomSheetFragment.show(getSupportFragmentManager(), mMenuBottomSheetFragment.getTag());
 }
0 голосов
/ 25 сентября 2018

Фрагмент уже добавлен.Нет необходимости показывать это снова.Просто проверьте его после null -проверьте и верните, если он добавлен:

if(mMenuBottomSheetFragment.isAdded()) {
    return;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...