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