博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Android EditText OnTouchListener事件重复
阅读量:6280 次
发布时间:2019-06-22

本文共 907 字,大约阅读时间需要 3 分钟。

今天在做数字键盘输入法的时候,监听EditText的OnTouchListener事件,然后弹出输入法,发现事件里面的方法居然执行了两次。

代码如下:

 

 
  1. Java代码  
  2.       
  3. edit.setOnTouchListener(new OnTouchListener() {        
  4.         
  5.             @Override        
  6.             public boolean onTouch(View v, MotionEvent event) {        
  7.                 NumberInputApp.setEdit(edit);        
  8.                 Intent intent = new Intent();        
  9.                 intent.setClass(NumberKeyBoardActivity.this, NumberInputActivity.class);        
  10.                 startActivity(intent);        
  11.                 return false;        
  12.             }        
  13.         });    

经过同事的提示,发现有可能是EditText的事件太过灵敏了,在MotionEvent.ACTION_DOWN和MotionEvent.ACTION_UP各执行了一次,于是把代码改成如下即可:

 

 
  1. Java代码  
  2.       
  3. edit.setOnTouchListener(new OnTouchListener() {        
  4.         
  5.             @Override        
  6.             public boolean onTouch(View v, MotionEvent event) {        
  7.                 /**加这个判断,防止该事件被执行两次*/        
  8.                 if (event.getAction() == MotionEvent.ACTION_DOWN) {        
  9.                     NumberInputApp.setEdit(edit);        
  10.                     Intent intent = new Intent();        
  11.                     intent.setClass(NumberKeyBoardActivity.this, NumberInputActivity.class);        
  12.                     startActivity(intent);        
  13.                 }        
  14.                 return false;        
  15.             }        
  16.         });    

 

     本文转自06peng 51CTO博客,原文链接:http://blog.51cto.com/06peng/963236,如需转载请自行联系原作者

你可能感兴趣的文章
sudo apt-get 与 yum安装有啥区别
查看>>
在 jQuery Repeater 进行验证更新等操作时提示消息
查看>>
2018-2019-2 20162329 《网络对抗技术》Exp7: 网络欺诈防范
查看>>
iPhone NSBundle的使用
查看>>
Memory Cache(内存缓存)
查看>>
Java技术相关
查看>>
操作系统概述总结
查看>>
北京程序员 VS 硅谷程序员(转)
查看>>
[AX]AX2012 使用视图
查看>>
20161108学习笔记
查看>>
手把手教你把Vim改装成一个IDE编程环境(图文)
查看>>
Git: 在CentOS上设置共享Repository
查看>>
精心挑选
查看>>
nextcloud 15 Could not open input file: occ
查看>>
串口编程C++实例(CE) .
查看>>
【形式化方法:VDM++系列】3.基于VDM++的图书管理系统需求定义
查看>>
No component factory found for ListenerAddComponent. Did you add it to @NgModule.entryComponents?
查看>>
python def说明
查看>>
实验四
查看>>
关于上、下拉电阻的总结整理
查看>>