失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > android全局监听onkeydown 在Fragment中监听onKeyDown事件

android全局监听onkeydown 在Fragment中监听onKeyDown事件

时间:2021-01-08 04:10:13

相关推荐

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方法获取不到事件,解决办法,

参考/p/30b3ed6f0486

如果觉得《android全局监听onkeydown 在Fragment中监听onKeyDown事件》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。