Android的ListView源码中有三种onKey事件
来源:互联网 发布:linux开发工程师待遇 编辑:程序博客网 时间:2024/05/23 18:41
Android的ListView源码中有三种onKey事件:onKeyDown、onKeyUp、onKeyMultiple,它们均通过commonKey方法处理。
commonKey方法中,又只对ACTION_DOWN覆写了本地处理,也即只对onKeyDown进行了额外处理。另外两个通过向上提交到父类的onKey方法中处理。
对于ListView,onKey事件调用路径按按键类型划分如下:
ACTION_DOWN:
KEYCODE_DPAD_CENTER、KEYCODE_ENTER、KEYCODE_SPACE:
onKeyDown(ListView.java) -> commonKey(ListView.java)
KEYCODE_DPAD_UP、KEYCODE_DPAD_DOWN、KEYCODE_DPAD_LEFT和KEYCODE_DPAD_RIGHT:
onKeyDown(ListView.java) -> commonKey(ListView.java)
KEYCODE_BACK :
onKeyDown(ListView.java) -> commonKey(ListView.java) ->sendToTextFilter(AbsListView.java) -> 根据返回值决定是否调用 onKeyDown(View.java) 【注: onKeyDown(View.java) 中没有对KEYCODE_BACK 的处理代码,因此将简单返回false】
ACTION_UP:
KEYCODE_DPAD_CENTER、KEYCODE_ENTER、KEYCODE_SPACE:
onKeyUp(ListView.java) -> commonKey(ListView.java) -> sendToTextFilter(AbsListView.java) 【注:简单返回false】-> onKeyUp(AbsListView.java) -> onKeyUp(View.java)
KEYCODE_DPAD_UP、KEYCODE_DPAD_DOWN、KEYCODE_DPAD_LEFT和KEYCODE_DPAD_RIGHT:
onKeyUp(ListView.java) -> commonKey(ListView.java) -> sendToTextFilter (AbsListView.java)【注:简单返回false】 -> onKeyUp(AbsListView.java) -> onKeyUp(View.java) 【注: onKeyUp(AbsListView.java) 和onKeyUp(View.java) 中没有对KEYCODE_DPAD_UP、KEYCODE_DPAD_DOWN、KEYCODE_DPAD_LEFT和KEYCODE_DPAD_RIGHT 的处理代码,因此将简单返回false】
KEYCODE_BACK :
onKeyUp(ListView.java) -> commonKey(ListView.java) ->sendToTextFilter(AbsListView.java) -> 根据返回值决定是否调用 onKeyUp(View.java) 【注: onKeyUp(View.java) 中没有对KEYCODE_BACK 的处理代码,因此将简单返回false】
ACTION_MULTIPLE:
ACTION_MULTIPLE是指多个连续的重复事件,可拆开为多个上面的ACTION_DOWN和ACTION_UP理解,此处从略。
- Android的ListView源码中有三种onKey事件
- android.onKey事件的return
- onkey 事件
- onkey事件在return前焦点切换,onkey事件的变化
- wemall app商城源码Fragment中监听onKey事件
- ListView设置setOnKeyListener后OnKey无法被调用的问题
- Fragment中监听onKey事件
- android ListView事件的研究 .
- android ListView的常用事件
- android ListView的常用事件
- Fragment中监听onKey事件,没你想象的那么难。
- 菜鸟的安卓实习之路----onKey监听键盘事件
- 安卓EditView控件回车按钮的监听事件,解决界面onkey无效
- Android提供的onKey(),OnKeyDown()和dispatchKeyEvent()方法之间的区别
- android ListView事件的研究(转)
- Android开发心得-ListView的监听事件
- android listview中checkbox 的点击事件
- Android开发心得-ListView的监听事件
- typedef 和结构体变量的定义方法
- shell重定向
- Interface Trip Stop - SRS
- 正则表达式(二)
- 让Oracle的 SHOW PARAMETER 命令显示隐藏参数
- Android的ListView源码中有三种onKey事件
- android 关于Toast重复显示解决方法
- Spider之Scrapy安装介绍
- 浅谈HOOK
- 后台调用js的方法
- nice命令
- Bash: about .bashrc, .bash_profile, .profile, /etc/profile, etc/bash.bashrc and others
- IOS学习笔记2—Objective C—类、属性、方法
- 有序单链表排序[面试题目]