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

代码如下:

        
  1. Java代码
  2. edit.setOnTouchListener(newOnTouchListener(){
  3. @Override
  4. publicbooleanonTouch(Viewv,MotionEventevent){
  5. NumberInputApp.setEdit(edit);
  6. Intentintent=newIntent();
  7. intent.setClass(NumberKeyBoardActivity.this,NumberInputActivity.class);
  8. startActivity(intent);
  9. returnfalse;
  10. }
  11. });

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

        
  1. Java代码
  2. edit.setOnTouchListener(newOnTouchListener(){
  3. @Override
  4. publicbooleanonTouch(Viewv,MotionEventevent){
  5. /**加这个判断,防止该事件被执行两次*/
  6. if(event.getAction()==MotionEvent.ACTION_DOWN){
  7. NumberInputApp.setEdit(edit);
  8. Intentintent=newIntent();
  9. intent.setClass(NumberKeyBoardActivity.this,NumberInputActivity.class);
  10. startActivity(intent);
  11. }
  12. returnfalse;
  13. }
  14. });

更多相关文章

  1. android native ndk崩溃定位
  2. Android双击返回键退出程序代码
  3. Android-NDK开发之基础--Android(安卓)JNI实例代码(四)-- JNI中
  4. android 特效之一 电视机关闭特效
  5. Android(安卓)PupopWindow 内的按钮事件处理
  6. Android(安卓)Intent.createChooser()
  7. Android剪切板用法
  8. Android(安卓)AIDL实现跨进程Activity与Service的通信
  9. Android实现悬浮图片

随机推荐

  1. Android查看Apk签名
  2. Android音频录制、播放,这一篇就够了
  3. 属于自己的Android框架路线
  4. Android中InCallUI显示太慢问题分析
  5. API Demos 2.2 研读笔记(12)——Intents Ch
  6. Calabash 快速入门 (Android)
  7. android git 下载单个工程
  8. android 同步监听输入框,以及电话号码正则
  9. 自定义android的tab样式 《》
  10. Android(安卓)Studio 快捷键(2)