Android - 多个视图或运行时片段替换​​?

Posted

技术标签:

【中文标题】Android - 多个视图或运行时片段替换​​?【英文标题】:Android - Mutiple views or run-time fragment replacement? 【发布时间】:2015-03-04 15:56:12 【问题描述】:

我想创建一个始终在左侧显示菜单面板的用户界面,以及根据选择的菜单条目而变化的内容块,即类似于许多网站的内容。

我是创建 android 用户界面的新手,所以我想知道如何正确和动态地更改内容。

最好创建两个不同的视图,每个视图都包含相同的面板片段(意味着 2 个实例?)和不同的内容片段,然后使用 Activity#setContentView() 更改该视图,或者我应该创建一个视图并替换动态的内容片段?

【问题讨论】:

【参考方案1】:

您绝对应该使用 Fragment 方法。

使用 FragmentActivity 并使用 FragmentManager(Activity 中的 getFragmentManager)创建过渡并根据用户单击的项目替换 Fragment。

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

【讨论】:

谢谢,但是选择片段方法而不是多视图的原因是什么? 一个原因是你的 UI 逻辑有两个不同的片段。视图方法会建议您在活动中拥有所有逻辑,如果您的不同视图数量增加,这可能会非常混乱。 好的,谢谢。我发现了一个解释如何替换片段的 SO 问题:***.com/questions/5658675/… 但我想知道一些事情:如果我用片段替换给定 ID 视图中包含的内容,它将删除该视图的所有子视图,对吗?如果有的话,我怎么能只替换第 N 个片段而不删除其他存在的片段?【参考方案2】:

将下面的代码与来自 github 的库一起使用,它会完美地回答你 https://github.com/neokree/MaterialNavigationDrawer

【讨论】:

谢谢看看。

以上是关于Android - 多个视图或运行时片段替换​​?的主要内容,如果未能解决你的问题,请参考以下文章

多个视图与多个片段

Android,从其他片段返回的空列表视图

单击ListViewItem时Android加载片段

Android片段重叠

无法替换图像视图,用于来自相机或画廊的图像(它不起作用)

如何用 ViewPager 中的另一个片段替换 Android 片段?