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 - 多个视图或运行时片段替换?的主要内容,如果未能解决你的问题,请参考以下文章