【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
}
相关推荐
zhouping@12 分钟前
polarctf2025秋
android·web安全·php
0xSec笔记本挖呀瓦呀挖13 分钟前
OpenClawWeComzh 实战:安卓 APK 分析与手机取证全自动化基础玩法
android·web安全·网络安全·智能手机·自动化·取证·电子数据取证
jolimark20 分钟前
【mysql部署】在ubuntu22.04上安装和配置mysql教程
android·mysql·adb
YSoup28 分钟前
MAT最新下载地址及Android内存泄露排查简单使用
android
71-31 小时前
Android studio的安装下载(Android Studio Panda 1 | 2025.3.1 Patch 1 )
android·笔记·学习·android studio
俩个逗号。。1 小时前
Compose 预览报错:java.lang.NoSuchMethodError
android·android jetpack
有位神秘人1 小时前
Android中dp与px互相转化的工具类
android
黄林晴1 小时前
Android Room 3.0 来了,这次改得有点狠
android·android jetpack
zh_xuan1 小时前
Android databinding
android·databinding
草莓熊Lotso1 小时前
Linux 进程间通信之命名管道(FIFO):跨进程通信的实用方案
android·java·linux·运维·服务器·数据库·c++