[kotlin] 코틀린 안드로이드 리사이클러뷰에서 아이템 선택 기능 추가하기
안드로이드 앱을 개발할 때 리사이클러뷰는 자주 사용되는 UI 컴포넌트 중 하나입니다. 사용자가 아이템을 선택할 수 있는 기능은 매우 유용하며, 이 기능을 코틀린으로 간단하게 추가할 수 있습니다. 이번 포스트에서는 리사이클러뷰에서 아이템을 선택하는 방법에 대해 알아보겠습니다.
1. 리사이클러뷰 레이아웃 파일에 선택 모드 추가하기
리사이클러뷰의 아이템을 선택하기 위해서는 선택 모드가 필요합니다. 선택 모드를 추가하기 위해 리사이클러뷰 레이아웃 파일에 choiceMode
를 추가합니다.
<androidx.recyclerview.widget.RecyclerView
android:id="@+id/recyclerView"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:choiceMode="singleChoice" />
2. 아이템 클릭 리스너 추가하기
리사이클러뷰 어댑터에서 아이템 클릭 이벤트를 처리하기 위해 아이템 클릭 리스너를 추가합니다.
class MyAdapter(private val itemList: List<String>) : RecyclerView.Adapter<MyAdapter.ViewHolder>() {
var selectedItemPosition = -1
override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): ViewHolder {
val view = LayoutInflater.from(parent.context).inflate(R.layout.item_layout, parent, false)
return ViewHolder(view)
}
override fun onBindViewHolder(holder: ViewHolder, position: Int) {
holder.bind(itemList[position])
holder.itemView.isActivated = selectedItemPosition == position
}
override fun getItemCount(): Int {
return itemList.size
}
inner class ViewHolder(itemView: View) : RecyclerView.ViewHolder(itemView) {
fun bind(item: String) {
itemView.textView.text = item
itemView.setOnClickListener {
selectedItemPosition = adapterPosition
notifyItemRangeChanged(0, itemList.size)
}
}
}
}
3. 선택된 아이템 표시하기
onBindViewHolder
에서 선택된 아이템을 표시하고, 아이템이 클릭될 때마다 선택된 아이템의 위치를 업데이트합니다.
4. 선택된 아이템 사용하기
이제 선택된 아이템을 사용할 수 있습니다. 예를 들어, 선택된 아이템을 삭제하거나 다른 작업을 수행할 수 있습니다.
이제 리사이클러뷰에서 아이템을 선택하는 기능을 쉽게 추가할 수 있습니다. 이러한 기능은 사용자 경험을 향상시키고 유용하게 만들어줍니다.
더 많은 안드로이드 및 코틀린 관련 팁은 Android Developers 웹사이트를 참고하시기 바랍니다.