重置/重新加载片段容器

Eri*_*riz 1 android android-fragments

如何重置或重新加载片段容器,使其为空.我有一个主详细信息视图,我想重置详细信息容器在菜单项单击时为空.这在某些情况下有效,而在某些情况下则不然.

 NullFragment fragment = new NullFragment();
 FragmentManager fragmentManager = getFragmentManager();
 FragmentTransaction fragmentTransaction = fragmentManager
        .beginTransaction();
 fragmentTransaction.replace(R.id.item_detail_container,
 fragment);
 int count = fragmentManager.getBackStackEntryCount();
 fragmentManager.popBackStackImmediate(count, 0);
 fragmentTransaction.commit();
Run Code Online (Sandbox Code Playgroud)

HpT*_*erm 8

通常只需从中删除片段即可.

例如做类似的事情

getFragmentManager().beginTransaction().remove(getFragmentManager().findFragmentById(R.id.your_container)).commit();
Run Code Online (Sandbox Code Playgroud)

这将removeyour_container持有它的碎片.

这将获取your_container中当前存在的片段

getFragmentManager().findFragmentById(R.id.your_container)
Run Code Online (Sandbox Code Playgroud)

并删除片段

getFragmentManager().beginTransaction().remove(fragment).commit();
Run Code Online (Sandbox Code Playgroud)

编辑

有时,确保执行和完成所有事务都很有用,这可以通过使用来完成

getFragmentManager().executePendingTransactions();
Run Code Online (Sandbox Code Playgroud)