일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
- 정보처리기사
- 혼공파
- select
- Kotlin
- 안드로이드
- 코테
- 스터디
- 오블완
- 인프런
- 프로그래머스
- CS
- 자료구조
- SQL
- 티스토리챌린지
- groupby
- 코틀린
- 정처기
- Til
- java
- Android
- 자바
- 카카오코테
- doitandroid
- 기술면접
- join
- 혼공챌린지
- MySQL
- 안드로이드스튜디오
- 알고리즘
- 혼공단
- Today
- Total
목록keyevent (2)
Welcome! Everything is fine.

📌 문제화면 상단의 검색 버튼과 키보드의 검색 버튼이 눌렸을 때의 반응이 다른 오류가 있었다. 상단의 검색 버튼을 누르면 정상적으로 한 개의 계정만 나오지만, 키보드의 검색 버튼을 누르면 똑같은 계정이 두 번 출력되는 문제가 있었다.📌 해결토스트 메시지로 확인해보니 onKey() 메서드가 두 번 실행되고 있었다. 찾아보니 키보드에서 엔터키를 누르면 ACTION_UP과 ACTION_DOWN, 총 2번의 이벤트가 발생하디 때문이라고 한다. 이를 해결하기 위해서는 아래 첫 번째 코드와 같이 단순히 엔터키가 눌렸을 때만을 조건으로 하는 것이 아니라 두 번째 코드와 같이 ACTION_UP과 ACTION_DOWN 중 하나만 선택하여 조건을 달아줘야 한다. searchEditText.setOnKeyListener..

검색 기능 구현 중, 키보드에서 엔터키를 누르면 검색 결과가 중복으로 출력되는 것을 발견했다. 그 이유를 찾아보니 키보드에서 엔터키를 누르면 ACTION_UP과 ACTION_DOWN이 각각 실행되어 2번 실행된다는 것이다. 이를 해결하기 위해서는 아래와 같이 단순히 엔터키가 눌리는 하나의 조건이 아니라, searchEditText.setOnKeyListener(new View.OnKeyListener() { @Override public boolean onKey(View view, int i, KeyEvent keyEvent) { if(keyEvent.getKeyCode() == KeyEvent.KEYCODE_ENTER) { // 실행할 코드 } return false; } }); 이렇게 ACTION_U..