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)
}
}