【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
}
相关推荐
白菜欣4 小时前
Linux — 进程控制
android·linux·运维
俩个逗号。。7 小时前
Gradle 踩过的坑
android
土星碎冰机10 小时前
ai自学笔记(3.安卓篇,制作app
android·笔记·ai
随遇丿而安11 小时前
专题:Glide / Coil / Fresco,不是三种写法,而是三套图片加载思路
android
只可远观12 小时前
Android 自动埋点(页面打开 / 关闭 + 点击事件)完整方案
android·kotlin
私人珍藏库12 小时前
【Android】小小最新AI--千变万化扮演任何角色--沉浸式互动
android·app·工具·软件·多功能
zh_xuan13 小时前
Android MVI架构
android·mvi
测试开发-学习笔记14 小时前
Airtest+Poco快速上手
android·其他
李斯维14 小时前
Android Jetpack 简介:由来和演进
android·android studio·android jetpack
阿巴斯甜14 小时前
ARouter 的使用:
android