이것저것 따라하려 했더니 도대체 헷갈려서 진행이 안된다. 그냥 처음부터 공부해 보자.
언제 쓰나?
리스트 형식으로 데이터를 보여주고 싶을때 쓰는데, ListView라는게 쓰여지다 RecyclerView로 대체된것 같다.
국룰로 대체된건 그만한 이유가 있을테니까 슬퍼도 단계별로 이해해 보자.
일단 ListView에서 넘어오게 된 이유는 성능향상ㅇ
구성요소
리사이클러뷰, 어댑터, 레이아웃 매니저, 뷰홀더
1. 어댑터가 리사이클러뷰에 아이템 뷰를 생성해줌.
2. 레이아웃 매니저는 아이템을 리사이클러뷰 내부에 어떻게 배치될지, 화면에 표시되지 않는 아이템 뷰는 언제 재활용할지 등 아이템을 리사이클러뷰에 표시하는 방법을 결정함
3. 뷰홀더는 화면에 표시될 아이템 뷰를 저장하는 객체임. 각 View들은 ViewHolder에 저장되어 있음. 레이아웃 매니저의 아이템 뷰 재활용 정책에 따라 어댑터에서 생성,재활용 된다. 미리 생성된 뷰홀더 객체가 있는 경우 새로 생성하지 않고 만들어져 있는것을 단순히 데이터만 아이템 뷰와 바인딩해서 사용한다.
1. 쓸 레이아웃에 리사이클러뷰 위젯 추가
2. 리사이클러뷰의 아이템 뷰 레이아웃 추가(쌓일 아이템 모습지정)
3. 어댑터 구현
3.1. 뷰홀더 클래스 만들기
- 뷰홀더 클래스 만들기
- 아이템 뷰를 위한 뷰홀더 객체 생성해서 리턴
3.2. 레이아웃
// 리사이클러뷰에 LinearLayoutManager 객체 지정.
RecyclerView recyclerView = findViewById(R.id.recycler1) ;
recyclerView.setLayoutManager(new LinearLayoutManager(this)) ;
// 리사이클러뷰에 SimpleTextAdapter 객체 지정.
SimpleTextAdapter adapter = new SimpleTextAdapter(list) ;
recyclerView.setAdapter(adapter) ;
'미완성글' 카테고리의 다른 글
안드로이드 스튜디오 context (0) | 2023.06.12 |
---|---|
android studio 스크롤 목록 - RecyclerView (0) | 2023.06.08 |
컴포넌트 (0) | 2023.06.08 |
안드로이드 studio Dao와 어댑터 (0) | 2023.06.08 |
Dao를 DB파일 안에 선언하는 이유? (0) | 2023.06.08 |