안드로이드 앱을 만들면서 검색기능을 구현하였다.
깃허브 API를 불러와 사용자 ID를 조회하는것이었는데,
1개의 개인토큰으로는 검색을 할 수 있는 ID가 한정 되어있었다.
그렇다면 검색시 본인이 원하는 ID만 검색되게끔 해야한다고 생각했다.
이럴경우 사용했던 기능이 runnable을 이용해서 시간을 정하고,
사용자가 완전히 키보드를 다 치고나서 검색 되도록 구현을 해보았다.
//검색시 사용자가 완전히 키보드를 다 치고 나서 search가 되도록 함.
val runnable = Runnable{
searchUser()
}
binding.searchEditText.addTextChangedListener {
searchFor = it.toString()
//핸들러를 사용해서 이전에 있던 작업을 지우고 새로운 값을 넣음
//3초 이후에 변화된 값이 없다면 그때 실행
handler.removeCallbacks(runnable)
handler.postDelayed(
runnable,
500,
)
}
현재 나의 runnable 시간은 500으로 되어있다.
이 시간을 3000(3초) 혹은 2000(2초)로 늘려 원하는대로 사용할 수 있다.
'안드로이드앱' 카테고리의 다른 글
java.lang.NoClassDefFoundError 오류해결 (0) | 2023.08.19 |
---|---|
Firebase Cloud Messaging 서버 키 사라짐 해결 (0) | 2023.08.19 |
액션바, 툴바 동시 사용 오류 (0) | 2023.08.17 |
Notification 안드로이드x(29), 28버전 충돌 오류(마이그레이션 사용으로 해결) (0) | 2023.08.15 |
깃허브 개인 토큰값 발급하기, Github repository 조회하기 app 만들기(1) (0) | 2023.08.10 |