【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
}
相关推荐
Reese_Cool14 分钟前
【C语言二级考试】循环结构设计
android·java·c语言·开发语言
平凡シンプル32 分钟前
安卓 uniapp跨端开发
android·uni-app
elina801335 分钟前
安卓实现导入Excel文件
android·excel
严文文-Chris39 分钟前
【设计模式-享元】
android·java·设计模式
趋势大仙1 小时前
SQLiteDatabase insert or replace数据不生效
android·数据库
DS小龙哥1 小时前
QT For Android开发-打开PPT文件
android·qt·powerpoint
试行2 小时前
Android实现自定义下拉列表绑定数据
android·java
Dingdangr7 小时前
Android中的Intent的作用
android
技术无疆7 小时前
快速开发与维护:探索 AndroidAnnotations
android·java·android studio·android-studio·androidx·代码注入
GEEKVIP7 小时前
Android 恢复挑战和解决方案:如何从 Android 设备恢复删除的文件
android·笔记·安全·macos·智能手机·电脑·笔记本电脑