我是否已经创建了某种方式,当前在我的活动中显示了相同的片段实例。我不使用
findFragmentById(int id)
,我根本就没有创建findFragmentByTag(String tag)
,因为由于某些要求,我没有在每个片段.offcourse中添加标记。 getFragment(Bundle bundle, String key)
,因为我从来没有捆绑过。 虽然我可能看起来像傻子,但我想要这样的东西。活动是否在某处保留了一些片段实例。??
我可以采取哪种最佳方法来达到这一要求。
更新
好的,让我告诉你为什么我不能使用上述方法。如果我在一个活动中添加各种片段,我总是希望在单击后退时返回到一个片段。 (正如我们在导航抽屉中所知,你知道)。除非有内在片段。所以为此,我不想在后台添加。
现在即使我有与我的片段相关联的标签,我也不能说8个片段if- else-if-else获取标签。我知道这是不正确的。所以前两种方式就是我的选择。现在是第三个。我完全不知道在哪里保留它。即使我把它放在哪里,每当我想要我的碎片时,我都会得到捆绑和密钥。
答案 0 :(得分:1)
您可以从片段管理器
获取List<Fragment> fragList=fManager.getFragments();
for(Fragment fr: fragList){
String fragClassName = fr.getClass().getName();
if(fragClassName.equals(Abc.class.getName())){
Log.i("Fragment:","Abc");
}else if (fragClassName.equals(Xyz.class.getName())) {
Log.i("Fragment:","Xyz");
}
}