【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
}
相关推荐
CYRUS_STUDIO5 小时前
Frida 检测与对抗实战:进程、maps、线程、符号全特征清除
android·逆向
csj506 小时前
安卓基础之《(28)—Service组件》
android
lhbian8 小时前
PHP、C++和C语言对比:哪个更适合你?
android·数据库·spring boot·mysql·kafka
catoop9 小时前
Android 最佳实践、分层架构与全流程解析(2025)
android
ZHANG13HAO9 小时前
Android 13 特权应用(Android Studio 开发)调用 AOSP 隐藏 API 完整教程
android·ide·android studio
田梓燊9 小时前
leetcode 142
android·java·leetcode
angerdream10 小时前
Android手把手编写儿童手机远程监控App之JAVA基础
android
菠萝地亚狂想曲10 小时前
Zephyr_01, environment
android·java·javascript
sTone8737510 小时前
跨端框架通信机制全解析:从 URL Schema 到 JSI 到 Platform Channel
android·前端
sTone8737510 小时前
Java 注解完全指南:从 "这是什么" 到 "自己写一个"
android·前端