일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
- Android
- groupby
- doitandroid
- Kotlin
- 기술면접
- 혼공챌린지
- 스터디
- 혼공파
- MySQL
- 티스토리챌린지
- 혼공단
- 자료구조
- 정처기
- join
- 자바
- select
- 코테
- java
- 코틀린
- SQL
- 인프런
- 정보처리기사
- 오블완
- Til
- 알고리즘
- 안드로이드
- 프로그래머스
- CS
- 안드로이드스튜디오
- 카카오코테
- 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..