【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
}
相关推荐
YF021114 小时前
Flutter 编译卡顿解决方案
android·flutter·ios
空中海15 小时前
第十二章:安卓实战架构与最佳实践
android·架构
angerdream16 小时前
Android手把手编写儿童手机远程监控App之四大组件详解2
android
kerli16 小时前
基于 kmp/cmp 的跨平台图片加载方案 - 适配 Android View/Compose/ios
android·前端·ios
半条-咸鱼18 小时前
基于安卓的 WAV 音频采集方案_含工具
android·音视频
九皇叔叔18 小时前
MySQL8.0 版本安装部署
android·adb
OneLIMS19 小时前
OneLIMS 安卓 APK 一键打包说明文档
android
阿亮爱学代码21 小时前
初识Android界面布局
android·xml·view·viewgroup
zopple1 天前
Laravel 9.x核心特性全解析
android