【Android】Fragment中监听Backpress返回键

需求

在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
}
相关推荐
·云扬·3 小时前
系统与MySQL核心监控指标及操作指南
android·数据库·mysql
冬奇Lab3 小时前
【Kotlin系列01】Kotlin快速入门:环境搭建与Hello World
android·kotlin·android studio
君莫啸ོ4 小时前
Android 自定义View-圆圈扩散动画
android
stevenzqzq4 小时前
android启动和注入理解1
android
qq_717410014 小时前
修改飞行模式
android
Larry_Yanan5 小时前
Qt安卓开发(一)Qt6.10环境配置
android·开发语言·c++·qt·学习·ui
冬奇Lab5 小时前
稳定性性能系列之十——卡顿问题分析:从掉帧到流畅体验
android·性能优化
stevenzqzq5 小时前
android启动初始化和注入理解2
android
DOUBLEDdinosaur5 小时前
屏幕数字监控 + 警报
android