[kotlin] 리사이클러뷰 및 어댑터 패턴 구현을 위한 Material Components 사용 방법

안녕하세요! 이번에는 Kotlin에서 Material Components를 사용하여 리사이클러뷰와 어댑터 패턴을 구현하는 방법에 대해 알아보겠습니다.

1. Material Components 의존성 추가

먼저, build.gradle 파일에 Material Components 라이브러리의 의존성을 추가합니다.

implementation 'com.google.android.material:material:1.4.0'

의존성을 추가한 후, 프로젝트를 동기화합니다.

2. 리사이클러뷰 및 어댑터 구현

2.1 리사이클러뷰 레이아웃 추가

레이아웃 XML 파일에서 리사이클러뷰를 추가합니다.

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

2.2 어댑터 및 뷰홀더 클래스 구현

어댑터를 만들고, 데이터를 표시하는 뷰홀더를 구현합니다.

class MyAdapter(private val data: List<String>) : RecyclerView.Adapter<MyViewHolder>() {
    override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): MyViewHolder {
        val view = LayoutInflater.from(parent.context).inflate(
            R.layout.item_layout,
            parent,
            false
        )
        return MyViewHolder(view)
    }

    override fun onBindViewHolder(holder: MyViewHolder, position: Int) {
        holder.bindData(data[position])
    }

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

class MyViewHolder(itemView: View) : RecyclerView.ViewHolder(itemView) {
    private val textView: TextView = itemView.findViewById(R.id.textView)

    fun bindData(item: String) {
        textView.text = item
    }
}

2.3 액티비티/프래그먼트에서 리사이클러뷰 설정

액티비티나 프래그먼트에서 리사이클러뷰 및 어댑터를 설정합니다.

val data = listOf("Item 1", "Item 2", "Item 3", "Item 4")

val recyclerView: RecyclerView = findViewById(R.id.recyclerView)
recyclerView.layoutManager = LinearLayoutManager(this)
recyclerView.adapter = MyAdapter(data)

이제 Material Components를 사용하여 리사이클러뷰와 어댑터 패턴을 구현하는 방법에 대해 알아봤습니다. 감사합니다!


참고 자료: