【发布时间】:2023-01-18 23:01:47
【问题描述】:
在这里我覆盖了 handleOnBackPressed() 方法:
Log.d("Fragment", "onViewCreated")
requireActivity().onBackPressedDispatcher.addCallback(viewLifecycleOwner) {
object : OnBackPressedCallback(true) {
override fun handleOnBackPressed() {
Log.d("Fragment", "Back pressed")
if (binding.crimeTitle.text.isBlank()) {
Toast.makeText(context, "Title can't be empty!", Toast.LENGTH_SHORT).show()
Log.d("Fragment", "Toast showed")
} else {
Log.d("Fragment", "BackStack popped")
findNavController().popBackStack()
}
}
}
}
但之后我在日志中只看到“onViewCreated”,按下“后退”按钮后没有任何反应。
我预计至少会看到“后退”。
日志:
(https://i.stack.imgur.com/bAmxq.png)
【问题讨论】:
-
您可能已经在活动中实施了 OnBackPressed。
标签: android fragment back-button onbackpressed fragment-backstack