【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
}
相关推荐
2501_915918411 小时前
iOS 26 App 性能测试|性能评测|iOS 26 性能对比:实战策略
android·macos·ios·小程序·uni-app·cocoa·iphone
咋吃都不胖lyh5 小时前
SQL-多对多关系
android·mysql·数据分析
cyy2985 小时前
android 屏幕适配
android
Digitally6 小时前
如何通过 5 种有效方法同步 Android 和 Mac
android·macos
行墨8 小时前
Jetpack Compose 深入浅出(二)——基础组件Text
android
雨白10 小时前
深入理解协程的运作机制 —— 调度、挂起与性能
android·kotlin
沐怡旸10 小时前
【Android】Android系统体系结构
android
namehu10 小时前
React Native 应用性能分析与优化不完全指南
android·react native·ios
xqlily11 小时前
Kotlin:现代编程语言的革新者
android·开发语言·kotlin
HelloBan11 小时前
如何正确去掉SeekBar的Thumb和按压效果
android