【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
}
相关推荐
Ln5x9qZC213 小时前
Laravel AI SDK 正式发布
android·人工智能·laravel
huwuhang14 小时前
跨平台电子书阅读器 | Readest最新版 安卓版+PC版全平台
android·前端·javascript
Gse0a362g15 小时前
推荐 PHP 属性(Attributes) 简洁读取 API 扩展包
android·开发语言·php
十六年开源服务商16 小时前
WordPress服务器响应时间优化终极指南2026
android·运维·服务器
jwn99916 小时前
PHP vs Go:后端开发选谁更胜一筹?
android
Vfw3VsDKo16 小时前
Android设备搭建本地RTSP服务器(基于live555)
android·运维·服务器
九狼JIULANG16 小时前
【无标题】
android·flutter·开源·github
jwn99916 小时前
Laravel10.x新特性全解析
android
CDN36017 小时前
iOS/Android 集成游戏盾审核被拒?权限与合规配置修复
android·游戏·ios
huwuhang1 天前
Winkawaks街机游戏模拟器整合ROM版 1.65 汉化修正完整版 2026.03.30
android·游戏·游戏机