android - 获取错误 : fragment already added?

标签 android eclipse fragment

为什么会返回“fragment 已添加”错误并导致应用崩溃?

android.support.v4.app.FragmentManager fm = getSupportFragmentManager();

    android.support.v4.app.FragmentTransaction ft = fm.beginTransaction();



    ft.setCustomAnimations(R.anim.slide_in_left, R.anim.slide_out_right);
    ft.replace(R.id.fragment_container, tempmainfrag);
    ft.commit();
    for(int i = 0; i < fm.getBackStackEntryCount(); i++)
    {
        fm.popBackStack();
    }

我猜这是因为 for 循环,因为它在没有它的情况下也能正常工作,但我需要清除后台堆栈,我该如何正确执行此操作?

最佳答案

我在使用 mapfragments 时遇到了同样的错误,这就是最终为我解决的问题:

@Override
public void onDestroyView() {
    super.onDestroyView();

    SupportMapFragment f = (SupportMapFragment) getFragmentManager().findFragmentById(R.id.current_fragment);
    if (f != null)
        getFragmentManager().beginTransaction().remove(f).commit();
}

希望对您有所帮助。

关于android - 获取错误 : fragment already added?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15675790/

相关文章:

android - 显示来自 url android 的视频

java - Java项目中的build.xml

java - 在Java中播放声音文件

Android AsyncTask 后刷新 fragment View

android - 如何将参数从 Activity 传递给 Fragment

android - 如何处理类似于 facebook API 调用 android 的 ListView 中的事件

android - 如何通过更改工具栏和通知栏的颜色在选项卡上单击播放商店来获得波纹效果?

java - 将我的项目A的源添加到我的项目B的maven中

android - 使用多个 RecyclerView 和其他 View 保存/恢复 NestedScrollView 的状态

android - 手动切换Android BottomNavigationView