我收到此错误:
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());
}