从布局中销毁先前的片段

时间:2014-08-09 08:47:04

标签: android android-fragments

我有一个布局,我用两个片段填充。我编写了一个在线获取数据的服务,然后用两个片段重新填充布局。我想要销毁旧片段,然后放置新片段,但这会继续在布局中添加新片段。如果我使用 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();
            }
        });

1 个答案:

答案 0 :(得分:0)

为每个FrameLayout使用两个单独的Fragment个容器。通过这种方式,您可以replace()彼此独立。