【问题标题】:Fragment visible on the background背景上可见的片段
【发布时间】:2012-07-17 08:35:20
【问题描述】:

我正在开发一个包含三个在 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 后面。当然,我不想要这个。

【问题讨论】:

    标签: android android-fragments


    【解决方案1】:

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

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

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

    【讨论】:

      猜你喜欢
      • 2013-05-22
      • 2020-04-24
      • 2016-09-05
      • 1970-01-01
      • 2013-08-18
      • 1970-01-01
      • 1970-01-01
      • 2019-10-27
      • 1970-01-01
      相关资源
      最近更新 更多