我有一个布局,我用两个片段填充。我编写了一个在线获取数据的服务,然后用两个片段重新填充布局。我想要销毁旧片段,然后放置新片段,但这会继续在布局中添加新片段。如果我使用 beginTransaction()。replace ,那么在布局中一次只添加一个片段。我怎样才能实现这个目标?
new Handler().post(new Runnable() {
public void run() {
Fragment f = getFragmentManager().findFragmentByTag("fragmentNowPlaying");
if (f != null)
transaction.remove(f);
f = getFragmentManager().findFragmentByTag("fragmentChannel");
if (f != null)
transaction.remove(f);
FragmentTransaction transaction = fm.beginTransaction();
FragmentNowPlaying fragmentNowPlaying = new FragmentNowPlaying();
transaction = fm.beginTransaction().add(R.id.content,fragmentNowPlaying, "fragmentNowPlaying");
transaction.commitAllowingStateLoss();
transaction = fm.beginTransaction();
FragmentChannel fragmentchannel = new FragmentChannel();
transaction = fm.beginTransaction().add(R.id.content,fragmentchannel, "fragmentChannel");
transaction.commitAllowingStateLoss();
}
});
答案 0 :(得分:0)
为每个FrameLayout
使用两个单独的Fragment
个容器。通过这种方式,您可以replace()
彼此独立。