마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

리사이클러뷰 안움직이게 고정하는법 있나요?

0 추천
현재 쓰던 리사이클러뷰를 딴 엑티비티에서 몇개만 보이도록 하고싶은데

getItemCount에 return값으로 숫자를 넣고 하려고했는데 오류가나서

리사이클러뷰 자체를 스크롤을 고정시켜서 아래로 못내리게 할 수 없나요??
nagada32 (290 포인트) 님이 2021년 5월 1일 질문
굳이 해당 기능을 원하시면 RecyclerView.setOnTouchListener를 Override하셔서 true를 리턴하시게 하면 될 겁니다.

1개의 답변

0 추천
제가 보기에 원래 시도하셨던 방법이 여러모로 더 나은 방법이라고 보입니다. List.subList()를 사용하시면 원래 있던 아이템의 일부만 가져와서 사용하 수 있어요. adapter외부에서 해당 리사이클러뷰에 보이는 아이템을 넘겨준다면 코드의 수정없이 원하시는 동작이 가능하겠네요.

recyclerViewAdapter.submtList(item: List<ItemType>)

class RecyclerViewAdapter: RecyclerView.Adapter {

      private val _items = arrayListOf<ItemType>()

      fun submistList(items: List<ItemType>)  {
             _items.clear()
             _items.addAll(items)
            notifyDatasetChanged()
      }

      overrride fun getItemCount(): Int {
          return _items.size
      }

}

Adapter가 위처럼 외부에서 전달하는 list에 의존하고 있다면, 원하는 몇개의 아이템만 처리하는데에 adapter 자체의 변경이 없어야 합니다. 그렇지 않다면, 뭔가 구조를 잘못 잡으신 걸로 보입니다.
spark (224,800 포인트) 님이 2021년 5월 2일 답변
...