片段在背景可看见

我正在开发一个具有三个片段的应用程序,这些片段在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与上述代码相同的方式替换DetailFragment 。 唯一的区别是我没有将它添加到BackStack,因为在过滤并按Back后我仍然想要返回到MenuFragment

当我单击filter按钮并按Back时,我的MenuFragment后面会显示DetailFragment (或DetailFragmentFiltered )。 那么,我不想要这个。

通过在布局中将第一个片段设置为“android:name”,确保不要使用与XML的静态片段关系。

使用framelayouts制作XML的布局并灵活地添加片段,如本教程所示:

http://developer.android.com/training/basics/fragments/fragment-ui.html