프로그래밍 언어/Java

[Android java]RecyclerView 의 개념 (Adapter,ViewHolder 등)

happy_life 2021. 11. 27. 11:02

RecyclerView 의 개념 에 대해 알아보려 합니다.

리사이클러뷰 예제 코드는 많지만, 사실 이게 어떻게 구현되는지 구글링 해봐도 헷갈리는 경우가 많습니다.

저 또한 그랬습니다. 따라서 구글링 및 여러강의를 통해 알게된 

Adapter

ViewHolder

RecyclerView의 개념들에 대해 알아보고 그 것들이 어떤 역할을 하는지 알아보겠습니다.

 

 

 

1)RecyclerView의 내부 동작 과정

Adapter가 ViewHolder를 만듭니다.

 

 

Layout을 가져옵니다.

 

 

List의 아이템을 Adapter로 가져옵니다.

 

 

ViewHolder로 가져옵니다.

 

 

ViewHolder가 Layout에 아이템을 집어넣습니다.

 

 

2)Adapter

데이터와 아이템에 대한 View를 생성합니다.

RecyclerView에서 아이템을 보이게 만들어주는 역할을 하는 ViewHolder를 생성합니다.

Collection과 ViewHolder의 객체들을 관리합니다.

 

사용자 데이터 리스트로부터 아이템 뷰를 만드는 역할을 담당하고 3가지 인터페이스를 구현해야 합니다. 

 

- onCreateViewHolder(ViewGroup parent, int view Type): 뷰 홀더를 생성하고 뷰를 붙여주는 부분

 

- onBindViewHolder(ListItemViewHolder holder, int position): 재활용되는 뷰가 호출하여 실행되는 메소드로 홀더를 전달하고 어댑터는 poition 데이터를 결합

 

- getItemCount( ) : 데이터의 개수 반환

 

 

 

3)ViewHolder

화면에 표시될 아이템 뷰를 저장하는 객체입니다.

 

ViewHolder에서 List에 들어있는 데이터들을 RecyclerVIew 에 보일 수 있게 해줍니다.

아이템뷰에 데이터를 표시하는 작업은 onBindViewHolder()에서 합니다