需求
在Fragment中监听返回键,并结束Activity
问题
Fragment未提供监听返回键的方法
思路
可以给Fragment中的RootView添加KeyListener
但是RootView默认是无法获取按键焦点的,所以即使添加了KeyListener也无效
我们只要允许Fragment的RootView获得焦点,并获得焦点,再添加KeyListener即可
代码
            
            
              kotlin
              
              
            
          
          binding.root.isFocusableInTouchMode = true
binding.root.requestFocus()
binding.root.setOnKeyListener { v, keyCode, event ->
	if (keyCode == KeyEvent.KEYCODE_BACK) {
			requireActivity().finish()
			return@setOnKeyListener true
	}
	return@setOnKeyListener false
}