[kotlin] 리사이클러뷰에서 아이템에 댓글 수, 좋아요 수 표시하기

리사이클러뷰는 앱에서 데이터 목록을 표시하는 데 유용한 위젯 중 하나입니다. 여기에는 각 데이터 항목에 대한 추가 정보를 표시하는 것이 일반적입니다. 따라서 각 리사이클러뷰 항목에 댓글 수와 좋아요 수를 표시하는 방법을 알아보겠습니다.

댓글 수와 좋아요 수 표시하기

데이터 모델 수정

우선, 데이터 모델에 댓글 수와 좋아요 수를 저장할 필드를 추가해야 합니다.

예를 들어, 데이터 클래스에는 다음과 같이 댓글 수와 좋아요 수를 저장할 수 있습니다:

data class Item(
    val id: Int,
    val title: String,
    val content: String,
    var numberOfComments: Int,
    var numberOfLikes: Int
)

어댑터 수정

이제 리사이클러뷰 어댑터를 수정하여 댓글 수와 좋아요 수를 표시할 수 있습니다.

어댑터에서는 데이터 모델에 새로운 필드 값을 연결하여 각 아이템의 댓글 수와 좋아요 수를 표시할 수 있습니다.

class ItemAdapter(private val itemList: List<Item>) : RecyclerView.Adapter<ItemAdapter.ItemViewHolder>() {

    // ... 다른 메소드들

    override fun onBindViewHolder(holder: ItemViewHolder, position: Int) {
        val currentItem = itemList[position]
        holder.bind(currentItem)
    }

    inner class ItemViewHolder(itemView: View) : RecyclerView.ViewHolder(itemView) {
        fun bind(item: Item) {
            // 기존의 데이터 바인딩
            itemView.titleTextView.text = item.title
            // ...

            // 추가 정보 표시
            itemView.numberOfCommentsTextView.text = item.numberOfComments.toString()
            itemView.numberOfLikesTextView.text = item.numberOfLikes.toString()
        }
    }
}

레이아웃 XML 수정

마지막으로, 리사이클러뷰의 아이템 레이아웃 XML 파일을 수정하여 댓글 수와 좋아요 수를 표시할 수 있도록 TextView를 추가합니다.

<TextView
    android:id="@+id/numberOfCommentsTextView"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="0"
    android:textColor="@android:color/black"
    android:textSize="14sp"
    app:layout_constraintEnd_toStartOf="@id/likeImageView"
    app:layout_constraintTop_toBottomOf="@id/contentTextView" />

<TextView
    android:id="@+id/numberOfLikesTextView"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="0"
    android:textColor="@android:color/black"
    android:textSize="14sp"
    app:layout_constraintEnd_toEndOf="parent"
    app:layout_constraintTop_toBottomOf="@id/contentTextView" />

이제 아이템을 보여주는 리사이클러뷰에서 각 항목의 댓글 수와 좋아요 수를 표시할 수 있게 되었습니다.

이렇게 함으로써 사용자는 보다 많은 정보를 빠르게 확인할 수 있고, 앱 사용 경험을 향상시킬 수 있습니다.

참고문헌: https://developer.android.com/guide/topics/ui/layout/recyclerview

5단계로 코틀린 리사이클러뷰 구현하기