개발일지

Android in A..Z - ItemTouchHelper disable for some holder 본문

Android (안드로이드)/RecyclerView

Android in A..Z - ItemTouchHelper disable for some holder

강태종 2021. 8. 2. 21:28

ItemTouchHelper는 RecyclerView의 제스쳐를 쉽게 도와준다. (좌우 스와이프, 위아래 이동 등) 하지만 특정 Holder에 대해서 제스쳐를 허용하고 싶지 않을 때가 있다.

 

getSwipeDirs를 override하여 허용하지 않을 Holder에 대해 ACTION_STATE_IDLE(0)를 반환한다.

            override fun getSwipeDirs(recyclerView: RecyclerView, viewHolder: ViewHolder): Int {
                return if (condition) {
                    ItemTouchHelper.ACTION_STATE_IDLE
                } else {
                    super.getSwipeDirs(recyclerView, viewHolder)
                }
            }

 

Comments