안드로이드 개발 팁 #15 - RecyclerView에 리스트를 로딩한 후 처리할 일 작성
RecyclerView에 리스트를 로딩한 후 추가로 무엇인가를 처리해야 하는가요? 그걸 하기 위해서는 로딩이 언제 끝날지를 알아야 한다는 것입니다. 이를 위해 View 클래스는 ViewTreeObserver라는 객체를 가지고 있구요. 아래와 같이 그 객체에 GlobalLayoutListener를 등록하면 됩니다. 로딩 후 처리할 일은 GlobalLayoutListener 객체의 onGlobalLayout() 메소드 안에 구현해 주시면 됩니다.
recyclerView.viewTreeObserver.addOnGlobalLayoutListener(object: ViewTreeObserver.OnGlobalLayoutListener {
override fun onGlobalLayout() {
// 로딩 후 처리할 일 작성
}
})
람다식을 이용하여 위 코드를 아래와 같이 더 짧게 줄일 수 있습니다.
recyclerView.viewTreeObserver.addOnGlobalLayoutListener {
// 로딩 후 처리할 일 작성
}
지난 안드로이드 개발 팁
- #14 - RecyclerView 뷰에서 항목 클릭시 뷰가 깜빡이는 문제
- #13 - 공통으로 사용할 색상 리소스 만들고 뷰에 적용
- #12 - 코틀린 언어 변환시 추가로 수정할 build.gradle 파일들
- #11 - 리스트/배열로부터 찾을 원소의 위치 읽기
- #10 - 앱의 다크 모드 진입 막는 방법
- #9 - 데이터 바인딩/뷰 바인딩 사용하지 않을 경우 자체적으로 만드는 Views 클래스
- #8 - TextView에 linear gradient color 적용하기
- #7 - 다이얼 화면 연결하기 위해 Activity 클래스의 확장 메소드 작성
- #6 - 웹 브라우저를 여는 확장 메소드 작성
- #5 - HTML 적용된 TextView에서 링크 클릭은 어떻게 구현?
- #4 - RxJava의 Observable, Single 객체의 기본 설정 수행 메소드 정의하기
- #3 - 특정 화면 이동시 다른 화면 모두 닫기
- #2 - HTML 이스케이핑 적용된 문자 풀어주기
- #1 - TextView로 HTML 내용 보여주기
[광고] STEEM 개발자 커뮤니티에 참여 하시면, 다양한 혜택을 받을 수 있습니다.
Upvoted! Thank you for supporting witness @jswit.
![default.jpg](https://steemitimages.com/640x0/https://cdn.steemitimages.com/DQmNwBDPMPvL1yaKWTYF4wxyUmxWiEJgAy1WZWTJyCha5wE/jswit_comment_initial.w320.jpg)