天天看点

Android EditText OnTouchListener事件重复

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

<a></a>

代码如下:

Java代码  

edit.setOnTouchListener(new OnTouchListener() {        

            @Override        

            public boolean onTouch(View v, MotionEvent event) {        

                NumberInputApp.setEdit(edit);        

                Intent intent = new Intent();        

                intent.setClass(NumberKeyBoardActivity.this, NumberInputActivity.class);        

                startActivity(intent);        

                return false;        

            }        

        });    

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

                /**加这个判断,防止该事件被执行两次*/        

                if (event.getAction() == MotionEvent.ACTION_DOWN) {        

                    NumberInputApp.setEdit(edit);        

                    Intent intent = new Intent();        

                    intent.setClass(NumberKeyBoardActivity.this, NumberInputActivity.class);        

                    startActivity(intent);        

                }        

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

继续阅读