【问题标题】:How to replace fragment on default blank activity (with fragment)?如何替换默认空白活动的片段(带片段)?
【发布时间】:2016-01-16 18:46:32
【问题描述】:

我的布局中有 4 个文件(3 个自动生成的和我的片段):

activity_main.xml

content_main.xml

fragment_main.xml

my_custom_fragment.xml

我创建了一个新类来保存我的片段。

在我的主要片段上,我创建了一个事件来调用它以替换 片段。

getActivity().getSupportFragmentManager() .beginTransaction() .addToBackStack(null) .replace(R.id.fragment, new CustomFragment()) .commit();

然后它只会将我的布局添加到当前布局而不是替换它...

【问题讨论】:

  • 您能否清楚地发布您如何创建 CustomFragment 的代码。并告诉你想要什么?
  • 创建自定义片段的代码只是在主线程中(当我单击按钮时调用)。我希望它替换片段(现在它将它添加到屏幕上显示的先前布局的下方)。

标签: android android-layout android-fragments android-activity fragment


【解决方案1】:

您尝试替换的片段是通过 XML 中的 <fragment> 创建的。这样的片段不能被动态删除或添加。

【讨论】:

  • 是的,我刚刚意识到这是问题所在,谢谢 :)
【解决方案2】:

尝试先替换之前的片段,例如

getActivity().getSupportFragmentManager()
                        .beginTransaction()
                        .remove(previousFragmentObject).commit();

然后添加新的片段。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2023-04-03
    • 1970-01-01
    • 2021-10-30
    • 1970-01-01
    • 2020-08-20
    • 1970-01-01
    • 1970-01-01
    • 2023-04-11
    相关资源
    最近更新 更多