【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
}
相关推荐
studyForMokey1 小时前
【Android面试】RecylerView专题
android·spring·面试
android_cai_niao3 小时前
Android中有什么技术过时了可以直接用新技术的
android·过时技术
lingggggaaaa3 小时前
PHP原生开发篇&文件安全&上传监控&功能定位&关键搜索&1day挖掘
android·学习·安全·web安全·php
我是场4 小时前
我的NPI项目 - OTA upgrade是什么?
android·人工智能
zh_xuan4 小时前
Android 实现fragment导航
android·fragment导航
java资料站4 小时前
MySQL 增量同步脚本
android·数据库·mysql
穷人小水滴4 小时前
手机安装 Cross Profile Test App (Android)
android·手机·一加
zh_xuan4 小时前
Android Paging 3实现分页加载
android·git·github·paging 3
天***88525 小时前
安卓KMPlayer安卓版播放器,支持AC-3、WMA、MP3、AAC
android·aac
jinanwuhuaguo6 小时前
OpenClaw 2026.4.5 深度解读
android·开发语言·人工智能·kotlin·openclaw