重置/重装片段容器 [英] Reset/reload fragment container
问题描述
我如何重置或重新加载片段容器,使之空。
我有一个主详细视图,我想重置详细集装箱空上的菜单项click.This工作在某些情况下,在一些不一样。
NullFragment片段=新NullFragment();
FragmentManager fragmentManager = getFragmentManager();
FragmentTransaction fragmentTransaction = fragmentManager
.beginTransaction();
fragmentTransaction.replace(R.id.item_detail_container,
分段);
诠释计数= fragmentManager.getBackStackEntryCount();
fragmentManager.popBackStackImmediate(计数,0);
fragmentTransaction.commit();
通常你只要从中取出碎片。
例如做这样的事情。
<$p$p><$c$c>getFragmentManager().beginTransaction().remove(getFragmentManager().findFragmentById(R.id.your_container)).commit();这将删除
从片段 your_container
抱着它。
这得到片段当前present在your_container
getFragmentManager()。findFragmentById(R.id.your_container)
和这个删除片段
getFragmentManager()调用BeginTransaction()删除(片段).commit()。
修改
有时也通过使用执行和完成,这是可以做到这是为了确保所有交易有用
getFragmentManager()executePendingTransactions()。
How can i reset or reload a fragment container, to make it empty. I have a master detail view and i want to reset the detail container to empty on a menu item click.This works in some cases and does not in some.
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();
Usually you simply remove the fragment from it.
For example do something like
getFragmentManager().beginTransaction().remove(getFragmentManager().findFragmentById(R.id.your_container)).commit();
this will remove
the fragment from the your_container
holding it.
This gets the fragment currently present in your_container
getFragmentManager().findFragmentById(R.id.your_container)
and this remove the fragment
getFragmentManager().beginTransaction().remove(fragment).commit();
EDIT
Also sometimes it is useful to ensure all transactions are performed and finished, this can be done by using
getFragmentManager().executePendingTransactions();
这篇关于重置/重装片段容器的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!