본문 바로가기
공부기록/안드로이드

[안드로이드] 뒤로가기(backpressed) 안되는 경우

by 책읽는 개발자 ami 2021. 1. 28.
728x90
반응형

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 event) {
    if(keyCode==KeyEvent.KEYCODE_ENTER && event.getAction()==KeyEvent.ACTION_UP){
		...
    }
    else if(keyCode==KeyEvent.KEYCODE_BACK){
    	onBackPressed();
    }
  return true;
  }
});
728x90
반응형