如何在 Fragment 实现中显示不同的活动?

Posted

技术标签:

【中文标题】如何在 Fragment 实现中显示不同的活动?【英文标题】:How to show different Activities in Fragment implementation? 【发布时间】:2011-10-05 08:06:58 【问题描述】:

这是我第一次使用 android 片段。我正在关注this tutorial 来实现一个片段。

本教程一切正常,我成功得到如下结果:

在本教程中,DetailsFragment 仅显示一个 TextView,其中包含当前所选项目的文本。右边的部分只显示了一些文本。

我的问题是如何在右侧显示不同的活动而不是文本视图。

我的意思如下图所示,比如图中“1”的区域就是一个activity。选择左侧列表项时如何显示不同的活动?

【问题讨论】:

【参考方案1】:

您不显示活动,而是显示片段。实现 Fragment 类而不是 Activity 类。然后像在 Activity 中一样构建视图。请记住,对于需要访问活动的实例,Fragment 类具有方便的 getActivity() 方法。

【讨论】:

【参考方案2】:

使用FragmentManager.beginTransaction() 启动FragmentTransaction。通过该操作,您可以隐藏和显示新片段。它还通过 android 历史堆栈进行管理。

https://developer.android.com/reference/android/app/FragmentManager.html#beginTransaction() https://developer.android.com/reference/android/app/FragmentTransaction.html

这里有一些代码:Android Honeycomb: How to change Fragments in a FrameLayout, without re-creating them?

【讨论】:

以上是关于如何在 Fragment 实现中显示不同的活动?的主要内容,如果未能解决你的问题,请参考以下文章

Android Fragment 在布局中声明,如何设置参数?

(导航组件)返回首页fragment时如何在activity上显示返回箭头?

具有相同功能的活动和片段

布局中声明的Android Fragment,如何设置参数?

如何将数据从 Activity 发送到 Fragment

如何在 Fragment 之间传递值