【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
}
相关推荐
YIN_尹6 分钟前
【MySQL】表的约束(上)
android·数据库·mysql
_李小白7 分钟前
【Android 美颜相机】第二天:Android-GPUImage Sample模块源码解析
android·数码相机
2501_9159090628 分钟前
Charles 抓不到包怎么办?iOS 调试过程中如何判断请求路径
android·ios·小程序·https·uni-app·iphone·webview
2501_9160074733 分钟前
iOS和iPadOS文件管理系统全面解析与使用指南
android·ios·小程序·https·uni-app·iphone·webview
廋到被风吹走1 小时前
【数据库】【MySQL】分区表深度解析:架构设计与大数据归档实践
android·数据库·mysql
峥嵘life2 小时前
Android16 EDLA中GMS导入和更新
android·linux·学习
Huanzhi_Lin2 小时前
验证apk签名
android·apk签名·apksigner
独自破碎E2 小时前
【大顶堆+小顶堆】数据流中的中位数
android
得一录3 小时前
Android AIDL 在智能体和IOT设备中的使用
android·人工智能·物联网·aigc
独行soc3 小时前
2026年渗透测试面试题总结-1(题目+回答)
android·开发语言·网络·安全·web安全·渗透测试·php