【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
}
相关推荐
_李小白1 天前
【Android FrameWork】第二十四天:Activity生命周期是如何运行的
android
ytttr8731 天前
基于C#的CAN总线数据解析BMS上位机
android·unity·c#
darryrzhong1 天前
FluxImageLoader : 基于Coil3封装的 Android 图片加载库,旨在提供简单、高效且功能丰富的图片加载解决方案
android·github·android jetpack
pandarking1 天前
[CTF]攻防世界:题目名称-warmup
android·web安全·网络安全
我命由我123451 天前
Android 开发问题:在无法直接获取或者通过传递获取 Context 的地方如何获取 Context
android·java·java-ee·android studio·android jetpack·android-studio·android runtime
惟恋惜1 天前
Jetpack Compose之“副作用”的讲解
android
モンキー・D・小菜鸡儿1 天前
Android14 新特性与适配指南
android·kotlin·安卓新特性
技术摆渡人1 天前
Android系统技术探索(1)启动流程
android
介一安全1 天前
【Frida Android】实战篇12:企业常用对称加密场景 Hook 教程
android·网络安全·逆向·安全性测试·frida
モンキー・D・小菜鸡儿1 天前
Android15 新特性与适配指南
android·kotlin·安卓新特性