Android(Kotlin)

Android Kotlin ListView

개복치 개발자 2020. 12. 14. 12:52
리스트뷰 만들기

 

안드로이드에서 굉장히 많이 쓰이는 것중 하나인 ListVIew를 만드는 방법에 대해서 알아보겠습니다.

 

 리스트뷰가 굉장히 많이 쓰는데, 이걸 처음부터 만들려면 많이 헷갈립니다. 때문에 어떻게 만드는지 확실하게 한번 보고 가겠습니다.

 

 우선적으로 저기 있는 리스트뷰에 있는 아이템 [리스트1, 리스트2, 리스트3]를 보여줄 xml파일을 하나 만들어야 합니다.

 

 저는 이름을 list_view_item.xml이라고 붙였습니다.

 그리고 간단하게 xml코드를 짰습니다.

 

 

 

 이렇게 하고 나면 한개의 아이템이 보여줄 View가 완성이 되었습니다.

 

 그렇다면 이 아이템을 리스트뷰에 하나씩 넣어줍니다.

 

 그 전에, 저기 있는 아이템의 데이터 모델을 하나 만들고 가줍니다.

 

 저는 ListViewModel이라고 이름을 만들었습니다.

 

 

 

 

 이렇게 하고 나면 Model까지 만들어줬습니다.

 

 그 다음 이 Adapter라는 것을 만들어줍니다. 이 Adapter의 역할이 가장 중요한데, ListViewModel과 list_view_item을 가지고 와서 예쁘게 리스트를 만들어서 MainActivity에 있는 ListView에 데이터를 준다고 생각하면 됩니다.

 

 

 ListViewModel과, list_view_item같은 경우 모두 만들었으니, 이제 ListViewAdpater를 만들어 보겠습니다.

 

 ListViewAdapter라는 파일을 만들어서

 

 아래와 같이 코드를 기입합니다.

  

 

 

 자, 여기까지 하면 Adapter가 만들어 졌습니다. Adapter를 MainActivity와 연결해주고, MainActivity에서 Adapter로 ListView에 넣을 데이터를 전달해줍니다.

 

 자 그러면 Adapter에서 Data를 전달해주고, MainActivity에 Adapter를 연결해줍니다.

 

 우선 MainActivity부터 보면은 

 

 위와 같이 List에 데이터를 넣어서 Adapter로 전달해서 listview에 연결했습니다. listview와 뷰바인딩을 어떻게 하는지는 이 포스트를 참고해주세요.

 

  자 그리고, activty_main.xml에 listview도 만들어줍니다.

 

 자 여기까지 하면, 완벽하게 ListView가 만들어집니다.

 

 더 나아가기

 

 그런데 여기서 Adapter부분을 조금 더 살펴보겠습니다.

 

 위의 부분에서 findViewById 부분을 불필요하게 계속 호출해내는 부분이 있습니다. 이 때문에, ViewHolder를 이용하여 수정해주는 것이 더 이상적인 것으로 보입니다.

 

 때문에 Adapter를 아래와 같이 수정해주면 더 완벽해질 듯 하네요.

 

 

 

'Android(Kotlin)' 카테고리의 다른 글

Android Log찍기, TAG달기  (0) 2020.12.14
Android Kotlin ImageSlider(PagerAdapter)  (0) 2020.12.14
Android Kotlin RecyclerView  (0) 2020.12.14
Android Kotlin Splash  (0) 2020.12.14
Android Kotlin Viewbinding(Databinding)  (0) 2020.12.14