[kotlin] 리사이클러뷰로 리스트 화면 만들기
Kotlin을 사용하여 안드로이드 앱을 개발할 때, 리사이클러뷰를 사용하여 리스트 화면을 만들 수 있습니다. 리사이클러뷰는 많은 수의 항목을 표시할 때 성능을 향상시키고 메모리를 절약할 수 있는 효율적인 방법입니다.
1. 리사이클러뷰 추가
안드로이드 프로젝트에서 build.gradle
파일에 아래 의존성을 추가하여 리사이클러뷰 라이브러리를 포함시킬 수 있습니다.
implementation 'androidx.recyclerview:recyclerview:1.2.0'
2. 리사이클러뷰 레이아웃 추가
리사이클러뷰를 사용하기 위해, 액티비티의 레이아웃 XML 파일에 리사이클러뷰 위젯을 추가합니다.
<androidx.recyclerview.widget.RecyclerView
android:id="@+id/recyclerView"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:clipToPadding="false"
android:padding="8dp"
tools:listitem="@layout/item_layout" />
3. 어댑터 및 뷰 홀더 생성
리사이클러뷰에서는 어댑터와 뷰 홀더를 생성하여 데이터를 표시합니다. 데이터 항목을 표시할 뷰를 위한 레이아웃 XML 파일도 준비해야 합니다.
data class Item(val name: String)
class ItemAdapter(private val items: List<Item>) :
RecyclerView.Adapter<ItemAdapter.ItemViewHolder>() {
inner class ItemViewHolder(itemView: View) : RecyclerView.ViewHolder(itemView) {
fun bind(item: Item) {
itemView.findViewById<TextView>(R.id.itemName).text = item.name
}
}
override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): ItemViewHolder {
val view = LayoutInflater.from(parent.context).inflate(R.layout.item_layout, parent, false)
return ItemViewHolder(view)
}
override fun getItemCount(): Int {
return items.size
}
override fun onBindViewHolder(holder: ItemViewHolder, position: Int) {
holder.bind(items[position])
}
}
4. 액티비티에서 리사이클러뷰 설정
마지막으로, 액티비티에서 리사이클러뷰와 어댑터를 설정합니다.
class MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
val items = listOf(Item("Item 1"), Item("Item 2"), Item("Item 3"))
val recyclerView: RecyclerView = findViewById(R.id.recyclerView)
recyclerView.layoutManager = LinearLayoutManager(this)
recyclerView.adapter = ItemAdapter(items)
}
}
이제 위의 단계를 따라 하면 Kotlin으로 리사이클러뷰를 사용하여 리스트 화면을 만들 수 있습니다.
참고 문헌: