android全局监听onkeydown,在Fragment中监听onKeyDown事件
在Activity中可以很轻监听到onKeyDown事件,但大部分场景我们的操作是在Fragment中完成的,此时要获取到onKeyDown事件需要多做点事
1.首先在Fragment的宿主Activity中重写onKeyDown方法
2.在Fragment中写一个方法,比如:onKeyDownChild(int keyCode, KeyEvent event)
3.在onKeyDown中获取到该Fragment的实例化对象,并调用onKeyDownChild(int keyCode, KeyEvent event)方法
将 keyCode, Event event作为参数传递过去,这样就可以在Fragment中获取到onKeyDown事件
代码如下:
宿主Activity
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if (fragmentsList != null && fragmentsList .size() >= 1) {
Fragment fragment = fragmentsList .get(0);
((TextingFragment) fragment).onKeyDownChild(keyCode, event);
}
return super.onKeyDown(keyCode, event);
}
Fragment
public void onKeyDownChild(int keyCode, KeyEvent event) {
}
备注:如果在Fragment中弹出Dialog对话框时,通过onKeyDownChild方法获取不到事件,解决办法,
参考https://www.jianshu.com/p/30b3ed6f0486
android全局监听onkeydown,在Fragment中监听onKeyDown事件相关推荐
- (转)android Fragments详解三:实现Fragment的界面
为fragment添加用户界面 fragment一般作为activity的用户界面的一部分,把它自己的layout嵌入到activity的layout中. 一个 要为fragment提供layo ...
- fragment类中的点击事件空指针异常
点击事件要写在 onActivityCreated中 另外一种写法: 这种覆写onClick()方法,在这个方法写点击事件的时候是没有反应的 @Overridepublic void onClick( ...
- Android屏幕触摸监听,Android在Fragment中实现监听触摸事件
本文给大家介绍的是监听Fragment的触摸事件实现.如果大家有更好的机制,可以留言交流,下面来看看详细的介绍: 大家都知道,我们的activity中有onTouchEvent方法,可以用来实现触摸事 ...
- Android 监听 Android中监听系统网络连接打开或者关闭的实现代码
本篇文章对Android中监听系统网络连接打开或者关闭的实现用实例进行了介绍.需要的朋友参考下 很简单,所以直接看代码 复制代码 代码如下: package xxx; import android.c ...
- android 控件监听方法是,Android | Android中监听Button的实现
Android中监听Button的实现 单按钮监听 2018-04-27_061911.jpg 1.在按钮所属的父Activity里,创建按钮变量 private Button mBtnTextVie ...
- Android中监听电源键长按、Home键、Home键长按
Android中监听"电源键长按"."Home键"."Home键长按" 这几个"按钮"的触发,都会产生一个Action ...
- Android中监听Home键的4种方法总结
本文主要介绍了Android中监听Home键的4种方法总结,主要讲解了onSaveInstanceState方法.onUserLeaveHint方法.ACTION_CLOSE_SYSTEM_DIALO ...
- Android webView中监听物理返回键一层一层退出
前言 fragment中加载webview如果不处理返回键 那么当你打开多个H5页面的时候 会一次性回退到根级 有时候我们需要一个缓冲 就是一级一级退出 给人一个良好的体验 该怎么做呢? 废话不多说 ...
- Fragment中设置监听返回键的功能
首先创建一个抽象类BackHandledFragment,该类有一个抽象方法onBackPressed(),所有BackHandledFragment的子类在onBackPressed方法中处理各自对 ...
最新文章
- 谱聚类(Spectral clustering)(2):NCut
- 打开Office时出现“运行时错误91”问题的解决办法
- HDU2866 Special Prime
- drawable(hdpi,ldpi,mdpi) 的说明
- JavaScript / Electron / ipcMain,ipcRenderer
- 关于Spring Bean实例注册的流程
- java get方法不序列化_Java中的Json序列化,不容忽视的getter
- python科学编程入门书_Python数据科学零基础一本通
- 需求、需求工程与需求工程师 — 6. 设计能力的要求
- 【嵌入式Linux】嵌入式Linux应用开发基础知识之网络通信
- 一个斐波那契数列题 HDU 2041
- redis 远程主机强迫关闭了一个现有的连接_如何在 Debian 10 上安装和配置 Redis 服务...
- Sea Level Anomaly 和 Sea Surface Height Anomaly 的区别
- Java入门-换行输出
- vue-sytle样式抽离
- No matter how well thought out it is
- 第P9周:YOLOv5-Backbone模块实现
- 软件定义网络基础(SDN①)
- 二次规划算法学习笔记
- 面试专题——Redis