android – 片段在背景上可见

前端之家收集整理的这篇文章主要介绍了android – 片段在背景上可见前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

我正在处理一个包含三个片段的应用程序,这些片段在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.

当我单击过滤器按钮并按Back时,我会在MenuFragment后面显示DetailFragment(或DetailFragmentFiltered).那么,我不想要这个.

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

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

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

猜你在找的Android相关文章