Android(安卓)EditText OnTouchListener事件重复
16lz
2021-01-24
今天在做数字键盘输入法的时候,监听EditText的OnTouchListener事件,然后弹出输入法,发现事件里面的方法居然执行了两次。
代码如下:
- Java代码
- edit.setOnTouchListener(newOnTouchListener(){
- @Override
- publicbooleanonTouch(Viewv,MotionEventevent){
- NumberInputApp.setEdit(edit);
- Intentintent=newIntent();
- intent.setClass(NumberKeyBoardActivity.this,NumberInputActivity.class);
- startActivity(intent);
- returnfalse;
- }
- });
经过同事的提示,发现有可能是EditText的事件太过灵敏了,在MotionEvent.ACTION_DOWN和MotionEvent.ACTION_UP各执行了一次,于是把代码改成如下即可:
- Java代码
- edit.setOnTouchListener(newOnTouchListener(){
- @Override
- publicbooleanonTouch(Viewv,MotionEventevent){
- /**加这个判断,防止该事件被执行两次*/
- if(event.getAction()==MotionEvent.ACTION_DOWN){
- NumberInputApp.setEdit(edit);
- Intentintent=newIntent();
- intent.setClass(NumberKeyBoardActivity.this,NumberInputActivity.class);
- startActivity(intent);
- }
- returnfalse;
- }
- });
更多相关文章
- android native ndk崩溃定位
- Android双击返回键退出程序代码
- Android-NDK开发之基础--Android(安卓)JNI实例代码(四)-- JNI中
- android 特效之一 电视机关闭特效
- Android(安卓)PupopWindow 内的按钮事件处理
- Android(安卓)Intent.createChooser()
- Android剪切板用法
- Android(安卓)AIDL实现跨进程Activity与Service的通信
- Android实现悬浮图片