【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
}
相关推荐
studyForMokey12 分钟前
【Android面试】窗口机制专题
android·面试·职场和发展
用户013201436031 小时前
Android 资源管理与常用布局详解|基础入门
android
陆业聪2 小时前
从 OpenClaw 到 Android:Harness Engineering 是怎么让 Agent 变得可用的
android·人工智能·ai编程
stevenzqzq4 小时前
颜色透明度转换技术文档(Android/Compose)
android
巴黎没有摩天轮Li4 小时前
Android JVMTI 接入流程
android
2501_915909065 小时前
iOS 抓包不越狱,代理抓包 和 数据线直连抓包两种实现方式
android·ios·小程序·https·uni-app·iphone·webview
城东米粉儿5 小时前
Android VCL 和 NAL笔记
android
常利兵5 小时前
从0到1,解锁Android WebView混合开发新姿势
android·华为·harmonyos
背包客(wyq)5 小时前
基于Android手机的语音数据采集系统(语音数据自动上传至电脑端)
android·网络