【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
}
相关推荐
zopple几秒前
Laravel9.X重磅升级:十大核心特性解析
android
私人珍藏库27 分钟前
【windows】跨平台 Android 刷机Root工具箱
android·windows·工具·刷机·软件·多功能
summerkissyou19873 小时前
Android-MediaSession-播放流程和例子
android·mediasession
私人珍藏库4 小时前
[Android] 蓝叠模拟器工具箱v1.1
android·智能手机·app·工具·软件·多功能
云霄IT5 小时前
安卓开发之java转dex再转smali
android·java·python
XiaoLeisj6 小时前
Android 短视频项目实战:从用户中心页与沉浸式登录,到验证码鉴权、用户信息持久化和 EventBus 登录态同步
android·webview·eventbus·countdowntimer·token 加密·键值对存储 sp·封装toast/加载 ui
JJay.7 小时前
Android BLE 扫描连接与收发消息实战
android
fly spider8 小时前
MySQL索引篇
android·数据库·mysql
xinhuanjieyi8 小时前
php setplayersjson实现类型转换和文件锁定机制应对高并发
android·开发语言·php
533_8 小时前
[vxe-table] 表头:点击出现输入框
android·java·javascript