Android EditText的onEditorAction监听事件防止执行两次
Android的EditText通过setOnEditorActionListener给文本编辑框设置监听事件,但是在其处理方法onEditorAction中的逻辑在每次回车后都触发了两次,这是因为在键盘回车的ACTION_UP和ACTION_DOWN时都会触发这个方法。下面的方法可以防止执行两次。
public boolean onEditorAction(TextView v, int actionId, KeyEvent event) { if (actionId == EditorInfo.IME_ACTION_SEND || (event != null && event.getKeyCode() == KeyEvent.KEYCODE_ENTER)) { switch (event.getAction()) { case KeyEvent.ACTION_UP: //do it return true; default: return true; } } return false; }