본문 바로가기

RecyclerView

(4)
안드로이드 RecyclerView 커스텀 LayoutManager 구성하기 현재 안드로이드에서는 RecyclerView와 사용 가능한 세 개의 LayoutManager를 제공하고 있다.(GridLayoutManager, LinearLayoutManager, StaggeredLayoutManager) 하지만 경우에 따라 여기중 어느 것으로도 원하는 아이템 구성을 RecyclerView에 적용하지 못할 수 있다. 그렇다면 이제.. 직접 커스텀 LayoutManager를 구성해야만 한다! 이번 작업을 위해 아래의 포스트를 참조했다. A Custom LayoutManager Case: Bumble Beeline A step by step guide to building a custom LayoutManager medium.com 이제 직접 해야할 때 커스텀 LayoutManager를 ..
[안드로이드] RecyclerView에서 클릭한 아이템의 position을 간단히 받아오기 RecyclerView의 아이템 클릭시에 해당 아이템의 position을 받아와야 하는 상황이 있었는데, stack overflow에 나와있는 상당수 답변은 clickListener interface 따로 생성하고, 달아주는 등등 손이 가는것은 물론, 방식들도 굉장히 다양한 편이었다. 더 편한 길이 있을텐데(이거보단 덜 칠 수 있지 않을까) 싶은 마음에 둘러보다 좋은 솔루션을 찾았다. 1. RecyclerView에 달려있는 어댑터의 onBindViewHolder 메소드에서 파라미터로 넘어오는 holder의 itemView에 onClickListner를 설정한다. 2. onClickListener에 클릭시마다 holder.adapterPosition을 통해 아이템의 position을 가져온다..
[안드로이드] Inconsistency detected. Invalid view holder adapter positionViewHolder 최근 크래시 리포트에서 RecyclerView와 관련된 오류가 하나 집계되었다. Inconsistency detected. Invalid view holder adapter positionViewHolder 찾아보니 삼성 디바이스에서 발생하는 이슈로 올라와있는 스택 오버플로우 질문이 있었고, 나와있는 해결책중에 개인적으로 덜 복잡하다고 생각되는 솔루션을 사용해보았다. 방법은 1. LinearLayoutManager를 상속받는 LinerLayoutManagerWrapper 클래스를 만든다. ... class LinearLayoutManagerWrapper: LinearLayoutManager { constructor(context: Context) : super(context) {} constructor(..
[안드로이드] RecyclerView의 사이즈를 애니메이션과 함께 바꾸기, 아이템이 추가될 때 애니메이션 적용하기 UI/UX를 구성하는 중에 유동적으로 사이즈를 바꾸는 RecyclerView의 구현이 필요했다. 목표로는 두가지 목표가 있었는데, 첫째로는 2개 이상의 아이템이 RecyclerView에 추가될 때 RecyclerView의 사이즈를 늘리기. 둘째로는 신규 아이템이 추가될 때 Fade in 애니메이션 적용하는 것이었다. 여러 방법들을 동원하던 중 코드 수도 적고 무난하게 사이즈를 늘릴 수 있는 레퍼런스를 찾았다. https://stackoverflow.com/questions/32835397/android-property-animation-how-to-increase-view-height Android property animation: how to increase view height? How to inc..