【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
}
相关推荐
爪洼传承人12 分钟前
AI工具MCP的配置,慢sql优化
android·数据库·sql
学习使我健康16 分钟前
MVP模式
android·github·软件工程
xiangxiongfly91540 分钟前
Android MMKV
android·mmkv
北漂Zachary2 小时前
PHP3.0:改变Web开发的里程碑
android·php·laravel
fundroid2 小时前
Google 发布 Android Skill & Android CLI:大幅提升 Android Agent 能力
android·agent·cli·skill
seabirdssss2 小时前
Flutter 开发环境配置
android·windows·flutter·adb
Evavava啊4 小时前
Android WebView 中 React useState 更新失效问题
android·前端·react.js·渲染
longji4 小时前
android 01 AOSP android16 aaos 编译及webview升级
android·aaos·aosp·android16
鹏程十八少4 小时前
2.2026金三银四 Android Handler 完全指南:28道高频面试题 + 源码解析 + 图解 (一文通关)
android·前端·面试
studyForMokey5 小时前
【Android面试】架构模式专题
android·面试·架构