首页 > 解决方案 > 使用工具栏中的按钮在片段之间导航

问题描述

在我的应用程序中,我希望将创建新记录的过程分为几个步骤,在这些步骤中向用户询问不同的信息。因此,我创建了一个活动,NavHostFragment并希望使用next该活动工具栏中的按钮使用导航图在片段之间切换。

单击下一个按钮导航到下一个片段

是否可以配置按钮以基于导航图在片段之间导航?这是一个好方法吗?我应该为每个步骤使用一个新活动吗?我是android开发的新手,所以我不确定最好的方法是什么。

标签: androidkotlinandroid-fragments

解决方案


您可以使用导航图处理它

  1. 处理片段中的工具栏点击事件:

    https://stackoverflow.com/a/30077965/11982611

    在处理每个片段的下一个按钮单击事件时,实现您的导航代码

    findNavController().navigate(Your action)
    
  2. 处理 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
    }
    

推荐阅读