android - 使用工具栏中的按钮在片段之间导航
问题描述
在我的应用程序中,我希望将创建新记录的过程分为几个步骤,在这些步骤中向用户询问不同的信息。因此,我创建了一个活动,NavHostFragment
并希望使用next
该活动工具栏中的按钮使用导航图在片段之间切换。
是否可以配置按钮以基于导航图在片段之间导航?这是一个好方法吗?我应该为每个步骤使用一个新活动吗?我是android开发的新手,所以我不确定最好的方法是什么。
解决方案
您可以使用导航图处理它
处理片段中的工具栏点击事件:
https://stackoverflow.com/a/30077965/11982611
在处理每个片段的下一个按钮单击事件时,实现您的导航代码
findNavController().navigate(Your action)
处理 Activity 的 OnItemOpotionsSelected 侦听器中的所有导航过程
override fun onOptionsItemSelected(item: MenuItem): Boolean { val navHostFragment = supportFragmentManager.primaryNavigationFragment val fragment = navHostFragment?.childFragmentManager?.fragments?.get(0) when(item.itemId) { android.R.id.home->super.onBackPressed() R.id.next-> { if(fragment is Fragment1) { fragment.findNavController().navigate(Fragment1toFragmen2 action)} if(fragment is Fragment2) { fragment.findNavController().navigate(Fragment2toFragmen3 action)} } return true }
推荐阅读
- sql-server - XML 和 SQL Server 中的 int 是什么?
- mysql - 试图从 MySql 结果字符串中删除“/”
- python - 从 memoryview 在 Cython 中创建唯一数组
- r - 根据多列的方差计算权重并计算加权和
- flutter - 适用于 iOS 和 Android 设备的 Flutter Cast
- batch-file - 如何“测试”一个变量是否大于 DOS 中的另一个变量?
- apache-superset - 如何通过超集中的 JSON 元数据设置默认过滤器值
- microsoft-graph-api - 在 Azure AD 中注册应用程序
- python - 在另一个文件中使用一个文件的变量
- redis - 为什么我在读取 redis 流时得到 (nil)