问题描述
我对BottomNavigationView有一般性问题。我想在App的每个活动中都有一个BottomNavigationView,用于订购某些东西(例如食物)。它应该有4个按钮:
- 返回
- 信息
- 统计
- 我的订单
使用“返回”,该应用应仅返回上一个活动。 “状态”和“我的订单”这两个按钮应切换为一个持久性活动,当不显示时不应该销毁该活动。 “我的订单”应显示最近的订单。按钮的“信息”应该仅显示有关当前项目或当前菜单的一些信息(取决于调用它的活动)。所以基本上我有两个问题:
- 活动“信息”,“统计”和“我的订单”是真实活动还是片段?通常,我认为从“统计”和“我的订单”开始,它们应该是真实的活动,因为它们是持久的。但是在许多BottomNavigationView中,仅使用片段吗?
- 如何将内容信息传递给活动/片段“信息”。此活动/片段应显示基于调用该活动的信息。假设活动是不同的菜。我是否需要为每个菜创建一个单独的信息活动/片段?还是我可以以某种方式定义一个动态的活动/片段来显示基于当前活动的信息?
感谢您的每条评论,也非常感谢您的帮助。
解决方法
- 推荐的方法是
Single Activity
和Multiple fragments
。 您可以使用Jetpack's Navigation Component
- 如果您需要通过
data from an Activity/Fragment to the new calling Fragment
,可以先通过setting arguments on the calling fragment
然后通过getting it on the called fragment
完成。如果有something which requires to be dynamic,for example- dishes fragment
,则make a single fragment and common layout and load the data dynamically from the backend
。
对于设置参数,这应该有所帮助
How to pass a variable from Activity to Fragment,and pass it back?
注意:您可以不使用Navigation Components
而使用片段,但必须使用FragmentManager and FragmentTransaction and also have to maintain the Backstack by yourself which could be quite complicated