Google 버그가 먹어버린 3시간, CoordinatorLayout와 RecyclerView
728x90
반응형

 

현상을 요약하자면 다음과 같다.

  • RecyclerView로 리스트가 나타난다.
  • 스크롤을 한다.
  • 스크롤이 멈추자마자 개별 Holder의 버튼을 클릭한다
  • 그런데 클릭 이벤트가 발생하지 않는다???
    • 조금 기다렸다가 클릭을 하면 된다.
    • 또는 두번째 클릭을 하면 이벤트가 발생한다.

평소에 수백번도 만들어 본 리스트다. 그런데 뜬금없이 클릭이벤트가 안된다고? 난 수차례 내 코드를 살펴보고 모르는 구조가 있는지 검색을 한 다음에야 구글이 해결하지 못한 버그라는 것을 알게 되었다.

 

이런 현상이 나타나는 경우는 더 존재한다. 특히 AppBarLayout가 그렇다. CoordinatorLayout와 RecyclerView 혹은 AppBarLayout을 사용했을 때 원하는 형태 혹은 이벤트가 발생하지 않는 것으로 보인다. 이는 NestedScrollView와 함께 사용할 때도 나타나는 것으로 보인다. 그렇다면 해결 방법은 무엇일까? Stackoverflow에 간단한 솔루션이 있었다.

<!-- 해당 RecyclreView 내부 -->
android:nestedScrollingEnabled="false"

내 3시간 돌려줘!!! 구그으으으으으으으을!!!!!

 

참고자료
- 예나아빠 블로그 : https://devbearkinf.tistory.com/44

 

728x90
반응형