【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
}
相关推荐
赏金术士几秒前
Kotlin 从入门到进阶 之泛型 模块(七)
android·开发语言·kotlin
恋猫de小郭44 分钟前
经典,Flutter iOS 又修复了一个构建问题,还是很抽象
android·前端·flutter
Kapaseker44 分钟前
不吹牛逼!精通 Compose 绘制(一)
android·kotlin
黄林晴1 小时前
Android 终于做桌面了,而三星 DeX 早已把路趟完
android
Digitally1 小时前
如何连接安卓手机到 Mac?2026 年 7 种可靠方法
android·macos·智能手机
克里斯蒂亚诺更新1 小时前
Android Studio的运行一个简单的apk和模拟器
android·ide·android studio
克里斯蒂亚诺更新1 小时前
android studio导出apk
android·ide·android studio
鹏晨互联1 小时前
《Jetpack Compose vs 传统 XML:一个纯色+渐变色背景的直观对比》
android
陆业聪1 小时前
AI编码提效实战:Skill、Rule与上下文工程
android·ai编程·claude code
imuliuliang2 小时前
Laravel 9.x核心特性全解析
android