我正在开发一个应用程序,该应用程序具有在 XML 文件中定义的三个片段:
[HeaderFragment]
[MainFragment]
[FooterFragment]
第一个屏幕启动三个片段,Header- 和 FooterFragment 是静态的,因此不会更改内容。
主片段最初是一个带有按钮和透明背景的菜单(MenuFragment
)。当我单击菜单中的某个项目时,我会替换MenuFragment
带有一个新片段(DetailsFragment
) 像这样:
FragmentTransaction transaction = mFragmentManager.beginTransaction();
Fragment newFragment = new DetailFragment();
transaction.replace(R.id.content_container, newFragment);
transaction.addToBackStack(newFragment.getTag());
transaction.commit();
The DetailFragment
出现,当我按回时,MenuFragment
出现并且一切都按其应有的方式进行。
这是我的问题:
在我的里面DetailFragment
,我有一个切换选项来过滤内容,这是一个按钮。单击此按钮后,DetailFragmentFiltered
取代了DetailFragment
与上面代码所示的方式相同。唯一的区别是我没有将其添加到 BackStack,因为在过滤并按 Back 后..我仍然想返回到MenuFragment
.
当我单击过滤器按钮并按“返回”时,DetailFragment
(or DetailFragmentFiltered
)显示在我的后面MenuFragment
。当然,我不想要这个。
通过在布局中将第一个片段设置为“android:name”,确保不使用与 XML 的静态片段关系。
使用框架布局制作 XML 的布局并灵活添加片段,如本教程所示:
http://developer.android.com/training/basics/fragments/fragment-ui.html http://developer.android.com/training/basics/fragments/fragment-ui.html
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)