我正在开发一个应用程序,该应用程序具有三个在 XML 文件中定义的片段:
[HeaderFragment]
[MainFragment]
[FooterFragment]
第一个屏幕启动三个片段,Header- 和 FooterFragment 是静态的,所以不会改变内容。
MainFragment 最初是一个带有按钮和透明背景 ( MenuFragment
) 的菜单。当我单击菜单中的一个项目时,我将 替换为MenuFragment
一个新片段 ( DetailsFragment
),如下所示:
FragmentTransaction transaction = mFragmentManager.beginTransaction();
Fragment newFragment = new DetailFragment();
transaction.replace(R.id.content_container, newFragment);
transaction.addToBackStack(newFragment.getTag());
transaction.commit();
出现DetailFragment
了,当我按回时,MenuFragment
出现了,一切正常。
这是我的问题:
在我的内部DetailFragment
,我有一个切换选项来过滤内容,这是一个按钮。单击此按钮时,会以与上述代码相同的方式DetailFragmentFiltered
替换。DetailFragment
唯一的区别是我没有将它添加到 BackStack 中,因为在过滤并按下 Back.. 之后,我仍然想返回到MenuFragment
.
当我单击过滤器按钮并按返回时,DetailFragment
(或DetailFragmentFiltered
)显示在我的MenuFragment
. 当然,我不想要这个。