본문 바로가기

Android

[Android] 안드로이드 KeyEvent 2번 실행 방지

반응형

안드로이드 키보드 이벤트 리스너를 할때 생기는 문제 중 하나는 바로 키 이벤트가 2번 연속으로 발생한다는 것이다.


그 이유는 처음 키가 눌렀을 때 한번 손가락을 화면 키에서 뗐을 때 한번 총 2번의 이벤트가 발생하기 때문이다.


그럴때는 아래와 같이 키가 눌러졌을때 빠져나갈 수 있도록 만들어 주면 된다. (반대로 뗐을 때로 수정 가능하다.)


textView.setOnKeyListener(new View.OnKeyListener() {
@Override
public boolean onKey(View view, int i, KeyEvent keyEvent) {
if (keyEvent.getAction() == KeyEvent.ACTION_DOWN)
return true;

switch (i) {
case KeyEvent.KEYCODE_0:
//Do Somthing
break;
case KeyEvent.KEYCODE_1:
//Do Somthing
break;
case KeyEvent.KEYCODE_2:
//Do Somthing
break;
//....
}

return true;
}
});


반응형