채팅앱을 구현 중 메시지를 송신하는 버튼을 만들어놓고 눌러서 송신하게 만들어 놓았다.
하지만 테스트하는 중에 항상 버튼을 누르는 것이 너무 불편해 엔터키로 처리하고 싶어졌다..
요긴하게 쓸 것 같다.
EditText에 setOnKeyListner라는 함수를 이용해서 엔터키의 키코드에 이벤트를 넣어주면된다
EditText_chat.setOnKeyListener(new View.OnKeyListener() {
@Override
public boolean onKey(View view, int i, KeyEvent keyEvent) {
switch (i){
case KeyEvent.KEYCODE_ENTER:
msg = EditText_chat.getText().toString();
ChatData chat = new ChatData();
chat.setNickname(currentUserName);
chat.setMsg(msg);
chat.setUid(currentUserUid);
myRef.push().setValue(chat);
EditText_chat.setText("");
return true;
}
return false;
}
});
return에 대해서는 아직 잘 모르겠다..
true면 이벤트가 깔끔하게 처리, false면 아니라고 한다..
여기에 대해서는 조금 더 공부해봐야겠다
아무튼 true로 해놓으니 내 앱에서는 오류가 발생하지 않았다
'안드로이드 > Java' 카테고리의 다른 글
리사이클러뷰 - 스크롤 끝으로 가기 (0) | 2023.07.03 |
---|