Add the RecyclerView adapter




3가지 오버라이드 함수


onCreateViewHolder ()

RecyclerView를 ViewHolder로 인스턴스화한다.

ViewHolder를 생성하고 뷰를 붙인다.


onBindViewHolder ()

RecyclerView가 데이터 소스에서 가져온 정보를 뷰에 넣는다.

재활용 되는 뷰가 호출하여 실행한다.

ViewHolder를 전달하고 Adapter는 position의 데이터를 결합한다.


getItemCount ()

데이터 소스의 아이템 개수를 반환한다.



   

이용과정


1)

RecyclerView가 Adapter에게 얼마나 많은 아이템을 출력해야 하는지 물어본다.

여러 번 물어 볼 수 있기 때문에 짧은 시간 안에 그 개수를 반환해주는 것이 중요하다.

   

2)

RecyclerView가 Adapter에게 ViewHolder를 만들라고 명령한다.

이 과정에서 각 아이템의 뷰들은 onCreateViewHolder를 호출해서 XML과 연결한다.


3)

OnCreateViewHolder 함수는 아이템 뷰를 XML과 연결시켜 하나의 뷰를 만들어내고

새로운 뷰를 가지는 ViewHolder 객체를 반환한다.

 

4) 

각각의 ViewHolder가 만들어지면

RecyclerView는 각 아이템에 정보를 넣기 위해 onBindViewHolder를 호출한다.

 

      

스크롤할 때 마다 RecyclerView는 Adapter를 통해

ViewHolder에 새로운 데이터를 넣어서 그 ViewHolder를 재사용하게 된다.




Add the Layout Manager




3가지 LayoutManager을 지원한다.

  


LinearLayoutManager

아이템들이 수직, 수평방향으로 스크롤한다.

디폴트는 수직 스크롤이다.

 


GridLayoutManager

LinearLayoutManager의 서브 클래스이다.

아이템들이 있는 격자가 수평이나 수직으로 스크롤한다.

 


StaggeredGridLayoutManager

격자의 간격을 결정한다.

다양한 차원을 가지는 내용을 보여줄 때 사용한다.


Android Course of Udacity - Lesson 3

+ Recent posts