Android 自定义 View 中 onKeyDown监听 没反应
在网上找了些资料终于明白了:
原来是焦点问题,我们注意View中有监听事件,Activity也有监听事件,两个类的监听事件有些是相同 的,想想其实原因很简单,如果在Activity用View画图,你在View里添加监听事件,在Activity里面也添加相同监听事情的话,例如都添加onKeyDown事件,这样当你按下某个键的时候,系统 就不知道你需要调用哪个方法了,不知道用哪个监听 了,所以这就关系到焦点问题,谁拥有焦点,就调用谁的监听事件。
我们程序在运行的时候默认焦点是在Activity上,所以就会造成View里面的onKeyDown监听事件无效,所以只要在画图的时候,添加焦点就可以 了,如:
- public class SurfaceView1Activity extends Activity {
- /** Called when the activity is first created. */
- @Override
- public void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- MyViewTest1 mvt = new MyViewTest1(this);
- mvt.setFocusable(true);
- setContentView(mvt);
- }
- }
转载于:https://www.cnblogs.com/zsw-1993/archive/2013/04/07/4880221.html
Android 自定义 View 中 onKeyDown监听 没反应相关推荐
- Android 关于ListView中按钮监听的优化问题(方法二)
关于ListView中按钮监听的优化问题(方法一)地址: http://www.cnblogs.com/steffen/p/3951901.html 之前的方法一,虽然能够解决position的传递, ...
- Android 自定义View中坐标点的理解学习(一)
本文主要是记录学习自定义view中看到的资料,为了方便记忆做了保存整理便于自己学习也方便其他Android开发爱好者学习,参考资料看底部链接. 一.getLocationInWindow和getLoc ...
- android view onkeydown,【Andoid】自定义View中onKeyDown事件拦截不生效
需求:现在自定义的view中监听物理键 结果:onKeyDown方法根本没走,无法生效. 解决方法:创建View以后AddView之前执行如下方法 if (context == null){ if ( ...
- Android 自定义View中invalidate()的自动清屏含义以及屏幕刷新
invalidate()含义 invalidate()是用来刷新View的,必须是在UI线程中进行工作.比如在修改某个view的显示时,调用invalidate()才能看到重新绘制的界面.invali ...
- android 自定义paint,Android自定义View中Paint、Rect、Canvas介绍(一)
自定义View对于新手而言貌似是一个很复杂的东西.格式,各函数的意义.对于大神经常忘记各函数及一些参数的具体写法及意义,刚好在做一个风车效果,把过程及遇到的问题都写下来 1.如何自定义一个View p ...
- Android屏幕触摸监听,Android在Fragment中实现监听触摸事件
本文给大家介绍的是监听Fragment的触摸事件实现.如果大家有更好的机制,可以留言交流,下面来看看详细的介绍: 大家都知道,我们的activity中有onTouchEvent方法,可以用来实现触摸事 ...
- Android 自定义键盘输入内容监听
文章内容结构按照STAR法则展开的: situation: 为何要监听输入内容? 一般正常的监听键盘输入内容,都是用Editext控件来实现用户的输入内容显示.但是如果密码输入框设计成如下: 都是类似 ...
- android resolvesize方法,Android 自定义View中onMeasure()中使用resolveSize()是什么意思?
缥缈止盈 public static int resolveSize(int size, int measureSpec) { int result = size; i ...
- Android自定义View之画圆环(手把手教你如何一步步画圆环)
关于自定义View: 好了,吐槽时间到.自定义view是Android开发知识体系中的重点,也是难点.好多小伙伴(也包括我)之前对自定义view也是似懂非懂.那种感觉老难受了.因此作为社会主义好青年, ...
最新文章
- 【Python基础】Pandas三种实现数据透视表的方法
- sublime配置c++环境
- [学习笔记]多项式指数函数
- 三大特性--多态和多态性
- idea导入gradle项目ctrl无法定位问题
- 教务管理系统数据表关系图_Web技术——简易班级管理系统(框架)
- windows功能_支持 AirPlay/DLNA 功能的 Windows 影音播放软件 5KPlayer
- 我在Linux开发板上跑的第一个Qt程序
- hdoj 3533 Escape
- 三国杀 中的概率计算 几何分布的期望和方差分析
- 时下几款著名的游戏引擎介绍,也许你只听说过“虚幻引擎”
- 2010齐鲁软件大赛题目(十一)虚拟化环境下的多媒体教室设计
- laravel 手动创建分页器LengthAwarePaginator
- android照片共享,在安卓手机上可以实现多人共享照片吗?
- c语言实现小游戏-扫雷
- 基于SRS+OBS搭建直播系统
- [转载] 毕业半年,我在富士康的日日夜夜
- gost备份linux系统,linux系统GOST备份教程.doc
- CANDENCE :如何新建PCB文件、设置PCB画布尺寸、绘制PCB板框
- 稀疏表示理论问题优化模型