[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