반응형 setOnKeyListener2 [안드로이드] 뒤로가기(backpressed) 안되는 경우 editText에 setOnKeyListener를 통해 엔터키 받는 이벤트를 넣었다. 근데 editText에 포커스가 가있을 때 뒤로가기 버튼이 안 먹는 것이 아닌가... 알고보니 오버라이딩한 onKey 함수가 backpressed 이벤트를 가져가고 있었다. 따라서 onKey 함수에 다음과 같이 else if(keyCode==KeyEvent.KEYCODE_BACK) onBackPressed(); 를 추가해주도록 하자(뒤로가기 버튼을 눌렀을 때 onBackPressed 함수를 호출해줌) commentEditText.setOnKeyListener(new View.OnKeyListener() { @Override public boolean onKey(View v, int keyCode, KeyEvent eve.. 2021. 1. 28. [안드로이드] setOnKeyListener 엔터(두 번 실행되는 경우) 엔터키 입력받을 때 액션을 취하고 싶은데 조건문에 keyCode==KeyEvent.KEYCODE_ENTER 만 쓰면 실행이 두 번 된다. 엔터키를 누르면 ACTION_UP과 ACTION_DOWN이 같이 실행된다. 따라서 한 번만 실행하기 위해선 keyCode==KeyEvent.KEYCODE_ENTER && event.getAction()==KeyEvent.ACTION_UP 이런식으로 조건을 하나 더 붙여줘야 한다. commentEditText.setOnKeyListener(new View.OnKeyListener() { @Override public boolean onKey(View v, int keyCode, KeyEvent event) { if(keyCode==KeyEvent.KEYCODE_ENTER.. 2021. 1. 28. 이전 1 다음 728x90 반응형