java – 检查片段是否存在并重用它

每次用户点击列表视图中的项目时,我都会使用以下代码创建一个片段.
但是以这种方式,片段是在每次用户点击时创建的.我想要的是重用旧片段(如果存在)并仅重新加载其内容(不创建新片段).
MagazineViewFragment fragment = new MagazineViewFragment();
fragment.openStream(itemSelected);

FragmentManager fragmentManager = getFragmentManager();
fragmentManager.beginTransaction()
        .replace(R.id.container,fragment)
        .commit();

我能怎么做?

解决方法

有多种方法,可能最简单的方法是检查容器中的当前Fragment是否是FragmentXYZ的实例(在您的情况下是MagazineViewFragment).

Fragment mFragment = getFragmentManager().findFragmentById(R.id.container);
if (mFragment instanceof MagazineViewFragment)
    return;

相关文章

最近看了一下学习资料,感觉进制转换其实还是挺有意思的,尤...
/*HashSet 基本操作 * --set:元素是无序的,存入和取出顺序不...
/*list 基本操作 * * List a=new List(); * 增 * a.add(inde...
/* * 内部类 * */ 1 class OutClass{ 2 //定义外部类的成员变...
集合的操作Iterator、Collection、Set和HashSet关系Iterator...
接口中常量的修饰关键字:public,static,final(常量)函数...