본문 바로가기
반응형

RecyclerView6

RecyclerView에서 고차함수 이용한 리스트아이템클릭 구현 인자로 함수를 받는 함수를 고차함수라고 하는데요. 영어로 HigherOrder Function이라고 하지요. 오늘은 이것을 이용해서 리스트의 아이템OnItemClickListener를 어떻게 이용하는지 정리해 보도록 하겠습니다. 먼저 기본적인 recyclerView를 설정하도록 하겠습니다. 참고로 여기서는 viewBinding을 사용하였습니다. viewBiding은 findviewById를 대체할 수 있는 방법인데요. 이와 관련해서는 다른 글에서 정리하도록 하겠습니다. 1. RecyclerView를 위한 기본적인 셋업 먼저 가장 기본적인 Recycler View를 세팅하도록 하겠습니다. 1-1. DataModel설정 먼저 Movie라고 하는 간단한 데이터클래스를 정의하겠습니다. 1-2. recyclerV.. 2021. 4. 2.
ArrayIndexOutOfBoundsException과 ViewHolder의 getAdapterPosition사용 RecyclerView를 이용해서, list상의 아이템 중 하나를 유저가 클릭한 경우, 해당 View의 position을 알아오기 위해, ViewHolder에서 getAdapterPosition을 사용하는 경우가 있습니다. 이런 경우에 ArrayIndexOutOfBoundsException이 발생하는 경우가 있는데요. 오늘은 이것의 원인과 대응 방법을 정리해 보도록 하겠습니다. 1. ArrayIndexOutOfBoundsException의 원인 ViewHolder에서 getAdapterPostion()메소드를 호출 한 경우, 디폴트 값은 "RecyclerView.NO_POSITION"인데요. 이 값이 바로 "-1"입니다. getAdapterPosition메소드는, 아이템이 있을 경우에만 해당하는 posi.. 2019. 10. 18.
View가 크기변화를 감지하도록 하는 방법 (addOnLayoutChangeListener) 리스트뷰가 들어간 앱을 만들다 보면, 키보드가 위로 올라오는 경우,화면사이즈가 줄어들어서 전체 리스트 뷰의 아이템이 다 보이도록 해야합니다. 대부분의 경우는 Manifest에서,android:windowSoftInputMode="adjustResize" 를 설정해줌으로 전체 화면사이즈가 줄어들어 해결되지만,경우에 따라서 키보드가 올라갈 경우에는 특정 View를 보이지 않도록 하는 경우도 있습니다. 이 때는 키보드가 올라가면서, 화면의 사이즈가 줄어들었다는 것을 감지하여,그 여부에 따라서, 특정 View의 visiblity를 조절해주면 됩니다. 오늘은, RecyclerView가 화면사이즈 변화를 감지하여서,그 변화에 따라서 특정 뷰를 보이지 않도록 하는 방법에 대해서 정리해 보도록 하겠습니다. 참고로 Vi.. 2017. 7. 26.
Drag해서 RecyclerView (listview) 순서 바꾸기 앱을 만들다보면, 리스트를 생성하는 것 뿐만이 아니라, 리스트 순서를 편집해야 하는 경우도 생기게됩니다. 특히, 모바일에서는 드래그를 통해서 위치를 바꾸어야 해서 조금 까다로운 편인데요. 오늘은 이 방법에 대해서 정리해 보겠습니다. 1. Model Class와 RecyclerView 먼저 아래 모델 데이터와 같은 데이터 클래스를 가지고, RecyclerView를 생성하겠습니다. recyclerView를 생성하는 구체적인 방법은 아래 링크에서 참조해주세요. >> RecyclerView 로 listview 정복 Part1 우선, 위와 같은 데이터 모델을 가지고아래와 같은 리스트와 아이템을 가진 리스트를 우선 만들어 놓습니다. 2. ItemTouchHelperCallback 구현하기 먼저, StudentIte.. 2017. 7. 20.
notifyDataSetChanged 실행시에 깜박이는 현상 해결 안드로이드의 리스트뷰는 전부 RecyclerView로 한다고 해도 될 정도로,RecyclerView는 정말 많이 사용됩니다. RecyclerView를 사용하다가 때로는, intialize된 후에 각 아이템의 데이터가 수정되어서, 다시 notifyDataSetChanged()를 해줘야 하는 경우가 생깁니다. 보통은 한번만 해주면 되는 notifyDataSetChanged()를 두번 혹은 그 이상 해야되는 경우가 있는 것인데요.이렇게 하면 깜박임 현상이 발생하는 것을 볼 수 있습니다. 오늘은, 이 문제를 해결 하려면 어떻게 해야 하는지 정리해보겠습니다. 참고로, 이글에서는 RecyclerView의 구현과 기본적인 내용에 대해서는 생략합니다.RecyclerView의 기본적인 내용은 아래 링크를 참조해 주세요... 2017. 7. 2.
Checkable interface 로 selectable한(선택할 수 있는) RecyclerView 리스트 만들기 안드로이드 앱을 만들면서 설정UI를 만들다 보면,카톡의 알람음 선택UI처럼,리스트를 누르면 그 아이템이 선택되도록 해야하는 경우가 있습니다. 오늘은 그 때 구현해야하는 Checkable 인터페이스 를 사용하여, 커스텀 리스트를 만들어보도록 하겠습니다. 1. Checkable interface 우선, Checkable interface가 무엇인지, 소스코드를 먼저 보고 가겠습니다~.view를 checkable하게 만들기위해서 사용하는 거군요.그리고, setChecked, isChecked, toggle() 을 구현해야 되네요. 그럼 이제 실제로 코드에 적용해보면서, CustomList를 만들어 보겠습니다. 2017. 1. 20.