Android 使用工具栏中的按钮在片段之间导航
在我的应用程序中,我希望创建新记录的过程分为几个步骤,在这些步骤中,用户会被询问不同的信息。因此,我使用Android 使用工具栏中的按钮在片段之间导航,android,kotlin,android-fragments,Android,Kotlin,Android Fragments,在我的应用程序中,我希望创建新记录的过程分为几个步骤,在这些步骤中,用户会被询问不同的信息。因此,我使用NavHostFragment创建了一个活动,并希望使用此活动工具栏中的next按钮使用导航图在片段之间切换 是否可以将按钮配置为基于导航图在片段之间导航?这是一个好方法吗?我应该为每个步骤使用新的活动吗?我是android开发新手,所以我不确定什么是最好的方法。你可以用导航图来处理它 处理片段中的工具栏单击事件: 在处理每个片段的“下一步”按钮时,单击事件实现导航代码 findNavCo
NavHostFragment
创建了一个活动,并希望使用此活动工具栏中的next
按钮使用导航图在片段之间切换
是否可以将按钮配置为基于导航图在片段之间导航?这是一个好方法吗?我应该为每个步骤使用新的活动吗?我是android开发新手,所以我不确定什么是最好的方法。你可以用导航图来处理它
findNavController().navigate(Your action)
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
}
谢谢,我尝试使用
onOptionsItemSelected
方法处理活动中的导航,它完全符合我的要求。但是,当我从fragment2移回fragment1时,我的操作栏中的“后退”按钮消失,并且仅在fragment1中不再可见。你知道为什么吗?我在活动中使用setDisplayHomeAsUpEnabled(true)
设置了它。这是因为导航组件存在回退问题。您需要重写onBackPressed方法来实现您想要的。