[kotlin] 리사이클러뷰(RecyclerView)를 활용한 데이터 리스트 표시 방법 알아보기

안드로이드 앱을 개발하다보면 다양한 데이터를 리스트 형태로 화면에 표시해야 할 때가 있습니다. 이때 리사이클러뷰(RecyclerView)를 사용하면 효율적으로 데이터를 표시할 수 있습니다. 리사이클러뷰를 활용하는 방법을 살펴보겠습니다.

1. 의존성 추가

먼저, build.gradle 파일에 리사이클러뷰의 의존성을 추가합니다.

implementation 'androidx.recyclerview:recyclerview:1.2.0'

의존성을 추가한 후에는 프로젝트를 동기화하여 라이브러리를 추가합니다.

2. 데이터 모델 생성

리사이클러뷰에 표시할 데이터 모델을 생성합니다. 예를 들어, 사용자 정보를 담는 데이터 모델을 만들어봅시다.

data class User(val id: Int, val name: String, val age: Int)

3. 어댑터(Adapter) 클래스 생성

리사이클러뷰에서 데이터를 관리하고 화면에 표시하기 위해 어댑터 클래스를 생성합니다.

class UserAdapter(private val userList: List<User>) : RecyclerView.Adapter<UserAdapter.ViewHolder>() {
    
    class ViewHolder(itemView: View) : RecyclerView.ViewHolder(itemView) {
        // View holder 내부에서 View들을 바인딩합니다.
    }

    override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): ViewHolder {
        // 뷰 홀더를 생성하여 반환합니다.
    }

    override fun onBindViewHolder(holder: ViewHolder, position: Int) {
        // 데이터와 뷰를 바인딩하여 화면에 표시합니다.
    }

    override fun getItemCount(): Int {
        return userList.size
    }
}

4. 리사이클러뷰 레이아웃 추가

액티비티 또는 프래그먼트의 레이아웃 파일에 리사이클러뷰를 추가합니다.

<androidx.recyclerview.widget.RecyclerView
    android:id="@+id/recyclerView"
    android:layout_width="match_parent"
    android:layout_height="match_parent" />

5. 레이아웃 매니저 및 어댑터 설정

액티비티 또는 프래그먼트에서 리사이클러뷰를 찾고, 레이아웃 매니저와 어댑터를 설정합니다.

val userRecyclerView: RecyclerView = findViewById(R.id.recyclerView)
val layoutManager = LinearLayoutManager(this)
userRecyclerView.layoutManager = layoutManager
val users = listOf(User(1, "Alice", 25), User(2, "Bob", 30))
val adapter = UserAdapter(users)
userRecyclerView.adapter = adapter

결론

이제 리사이클러뷰를 활용하여 데이터를 효율적으로 리스트 형태로 표시하는 방법에 대해 알아보았습니다. 리사이클러뷰를 사용하면 대용량의 데이터를 표시하거나 다양한 형식으로 데이터를 레이아웃하는 데 있어서 매우 유용합니다.

참고문헌: