【问题标题】:Why is this "IllegalStateException: Fragment already added" error happening? [duplicate]为什么会发生此“IllegalStateException:已添加片段”错误? [复制]
【发布时间】:2019-05-07 15:04:31
【问题描述】:

(有人建议这是一个重复的问题。我相信它是独一无二的,因为我必须返回 myFragment)

我收到一个错误:

IllegalStateException:已添加片段

知道为什么会这样吗?以下是我的片段适配器:

@Override
 public Fragment getItem(int position) {
        FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction();
        MyFragment myFragment = new MyFragment();
        fragmentTransaction.add(R.id.myViewPager, myFragment, "myFrag");
        fragmentTransaction.commit();

        Bundle bundle = new Bundle();
        bundle.putInt("position", position);
        myFragment.setArguments(bundle);

       return myFragment;
    }

【问题讨论】:

    标签: java android android-fragments illegalstateexception


    【解决方案1】:

    当我们在关闭之前尝试添加相同的片段或 DialogFragment 两次时会发生这种情况,

    if(mFragment.isAdded()) { return; }

    【讨论】:

    • 在我提供的代码中,我是否添加了两次片段?另外,我需要返回一个片段。如果已经添加了“myFragment”,我不知道该怎么做。
    • @genericName 您没有添加两次,但有时会在您的活动进入后台然后重新出现时发生。
    猜你喜欢
    • 1970-01-01
    • 2011-09-09
    • 1970-01-01
    • 2015-09-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-10-23
    • 1970-01-01
    相关资源
    最近更新 更多