【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 分钟前
android中compose系列之总纲
android
Jomurphys24 分钟前
测试 - 概览
android
飞鹰@四海1 小时前
AutoGLM 旧安卓一键变 AI 手机:安装与使用指南
android·人工智能·智能手机
敲上瘾2 小时前
MySQL主从集群解析:从原理到Docker实战部署
android·数据库·分布式·mysql·docker·数据库架构
Jomurphys2 小时前
测试 - 单元测试(JUnit)
android·junit·单元测试
fatiaozhang95272 小时前
中国移动中兴云电脑W132D-RK3528-2+32G_安卓9_ADB开启线刷包
android·adb·电脑·电视盒子·刷机固件·机顶盒刷机·中兴云电脑w132d
selt79111 小时前
Redisson之RedissonLock源码完全解析
android·java·javascript
Yao_YongChao12 小时前
Android MVI处理副作用(Side Effect)
android·mvi·mvi副作用
非凡ghost13 小时前
JRiver Media Center(媒体管理软件)
android·学习·智能手机·媒体·软件需求
席卷全城13 小时前
Android 推箱子实现(引流文章)
android