【发布时间】:2018-09-18 06:27:50
【问题描述】:
也许主题是重复的,并且有很多关于此的主题。但我检查了所有这些,但我没有得到解决。
我有一个fragment,它在FrameLayout 上膨胀,当我点击特定的button 时,我必须删除当前的一个并用另一个替换它......但是这个过程不起作用。起初fragment 也膨胀了,然后我们点击button 将fragment 删除。但是另一个被创建了。它不会出现在屏幕上。虽然调用了onCreateView()方法。
这是我的代码:
Fragment fragment = mFragmentManager.findFragmentById(frameId);
if (fragment != null) {
mFragmentManager.beginTransaction().remove(fragment).commit();
mFragmentManager.beginTransaction().replace(frameId,fragment).commit();
}
【问题讨论】:
-
为什么要删除片段?换个就行了。
-
我想刷新片段,我尝试使用附加和分离,但我在我的应用程序中遇到了这种技术的问题。如果我直接使用替换,片段不会调用
onCreateView()方法 -
您在做什么需要您通过删除和重新添加片段来“刷新”片段?无论如何,这可能会产生可见的“闪烁”。
-
我的片段中有一个对象包含捆绑数据,我从另一个片段更新它,所以我希望在更新它时片段调用
onCreateView()以用新状态替换以前的状态 -
Mohamed,也许这个帖子的公认答案可能会有所帮助 :: stackoverflow.com/questions/19722979/…