【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
}
相关推荐
用户7607495397835 分钟前
Android页面四大布局运行结果
android
风往哪边走8 分钟前
搜索框自定义
android
用户8249281925361 小时前
把android资源类型详解
android
IT观测1 小时前
深度分析俩款主流移动统计工具Appvue和openinstall
android·java·数据库
用户338675581951 小时前
Android 四种常用布局完全解析(附实战项目截图)
android
用户5087532168441 小时前
Android 资源类型全解析:深入理解四种常用布局
android
XiaoLeisj1 小时前
Android 文件存储实战:从应用私有目录读写到网络文件落盘与公共存储接入
android·java·网络·文件操作
恋猫de小郭1 小时前
Android Studio Panda 2 ,支持 AI 用 Vibe Coding 创建项目
android·前端·flutter
zhouping@2 小时前
[极客大挑战 2020]Greatphp
android·ide·web安全·android studio
毕设源码-邱学长2 小时前
【开题答辩全过程】以 基于 Android的超市服务评价系统的设计与实现为例,包含答辩的问题和答案
android