mMenuBottomSheetFragment

mMenuBottomSheetFragment

我收到此错误:

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 工作正常。但有一段时间,它抛出这个异常然后我什么都不做。

那么我的情况有什么问题呢?我该如何解决?

最佳答案

用这个替换 isShowing:

 if(!mMenuBottomSheetFragment.isAdded()) {
      mMenuBottomSheetFragment.show(getSupportFragmentManager(), mMenuBottomSheetFragment.getTag());
 }

10-08 17:13