【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
}
相关推荐
Lei活在当下2 小时前
Codex 工程化实践指南:深入理解 AGENTS.md、SKILL.md 与 MCP
android·openai·ai编程
修炼者3 小时前
Toast的显示流程
android
simplepeng6 小时前
Room 3.0 KMP Alpha-01
android·kotlin·android jetpack
Lei活在当下6 小时前
Windows 下 Codex 高效工作流最佳实践
android·openai·ai编程
fatiaozhang95276 小时前
基于slimBOXtv 9.19.0 v4(通刷晶晨S905L3A/L3AB芯片)ATV-安卓9-完美版线刷固件包
android·电视盒子·刷机固件·机顶盒刷机·晶晨s905l3ab·晶晨s905l3a
私房菜7 小时前
Selinux 及在Android 的使用详解
android·selinux·sepolicy
一只特立独行的Yang8 小时前
Android中的系统级共享库
android
两个人的幸福online8 小时前
php开发者 需要 协程吗
android·开发语言·php
修炼者10 小时前
WindowManager(WMS)构建全局悬浮窗
android
xiaoshiquan120610 小时前
Android Studio里,SDK Manager显示不全问题
android·ide·android studio