android - 旋转后工具栏后退按钮不起作用
问题描述
我有一个带有多个片段的单个活动应用程序。我将androidx.appcompat.widget.Toolbar
in 与我的片段一起使用。当我浏览我的应用程序时
主视图->片段1->片段2->工具栏后按->片段1->工具栏后按->主视图
没有问题,但如果我改变方向,后退按钮不再适用于片段 1:
主视图 -> 片段 1 -> 片段 2 -> 方向更改 -> 工具栏后按 -> 片段 1 -> 工具栏后按 -> 没有任何反应
在我的片段中,我在onViewCreated
方法中设置了工具栏
val activity: AppCompatActivity? = activity as AppCompatActivity
val toolbar: Toolbar = view.findViewById(R.id.toolbar)
activity?.setSupportActionBar(toolbar)
activity?.supportActionBar?.setDisplayHomeAsUpEnabled(true)
activity?.supportActionBar?.setDisplayShowHomeEnabled(true)
在 mainActivity 我处理点击
override fun onOptionsItemSelected(item: MenuItem): Boolean {
return when (item.itemId) {
android.R.id.home -> {
onBackPressed()
true
}
else -> super.onOptionsItemSelected(item)
}
}
override fun onBackPressed() {
if (supportFragmentManager.backStackEntryCount == 0) {
finish()
} else {
hideKeyboard()
supportFragmentManager.popBackStack()
}
}
但在旋转更改后它不会在片段 1 上被调用