我正在应用程序中使用Kotlin的Navigation组件。我能够从片段1导航到片段2 onClick,但是无法通过使用PopBackStack单击后退按钮从片段2导航回到片段1。
引荐链接:
对于Backpress导航,您可以执行以下操作:
val calendar = "My Upcoming Sessions"
val dashboard = "Dashboard"
像上面那样存储您的片段名称,并使用以下代码导航回到Fragment2到Fragment1。
when (fragmentManager.findFragmentById(R.id.nav_host)) {
is CalendarFragment -> {
CustomMethods().openPage(this, MainActivity().dashboard)
clearSelection()
}
else -> {
if (pressedTwice) {
super.onBackPressed()
return
}
this.pressedTwice = true
Snackbar.make(
findViewById(android.R.id.content),
"Please click BACK again to exit",
Snackbar.LENGTH_LONG
).show()
Handler().postDelayed({ pressedTwice = false }, 2000)
}
}
这里R.id.nav_host此ID属于您的FramLayout
希望如此会有所帮助。