[kotlin] 코틀린 안드로이드 리사이클러뷰에서 아이템에 요일, 날짜, 시간 표시하기

안드로이드 앱을 개발할 때, 리사이클러뷰를 사용하여 여러 개의 아이템을 리스트로 표시하는 경우가 많습니다. 이때 아이템에 요일, 날짜, 시간과 같은 추가적인 정보를 표시하고 싶을 수 있습니다. 여기에서는 코틀린으로 안드로이드 앱을 개발하면서 리사이클러뷰 아이템에 요일, 날짜, 시간을 표시하는 방법을 알아보겠습니다.

요일, 날짜, 시간 표시하기

우선, 리사이클러뷰의 각 아이템 레이아웃 파일에 요일, 날짜, 시간을 표시할 수 있는 TextView를 추가합니다.

<TextView
    android:id="@+id/dayOfWeekTextView"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:textSize="16sp"
    android:textStyle="bold"/>
<TextView
    android:id="@+id/dateTextView"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:textSize="14sp"/>
<TextView
    android:id="@+id/timeTextView"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:textSize="14sp"/>

그런 다음, 리사이클러뷰 어댑터 클래스에서 아이템에 요일, 날짜, 시간을 설정합니다.

class MyAdapter(private val itemList: List<Item>) : RecyclerView.Adapter<MyAdapter.ViewHolder>() {

    // ... 다른 메소드들

    override fun onBindViewHolder(holder: ViewHolder, position: Int) {
        val currentItem = itemList[position]

        // 요일, 날짜, 시간 설정
        val calendar = Calendar.getInstance()
        calendar.time = currentItem.date
        val dayOfWeek = SimpleDateFormat("EEEE", Locale.getDefault()).format(currentItem.date)
        val dateFormat = SimpleDateFormat("yyyy-MM-dd", Locale.getDefault())
        val timeFormat = SimpleDateFormat("HH:mm", Locale.getDefault())
        
        holder.dayOfWeekTextView.text = dayOfWeek
        holder.dateTextView.text = dateFormat.format(currentItem.date)
        holder.timeTextView.text = timeFormat.format(currentItem.date)
    }
}

위의 코드에서는 SimpleDateFormat을 사용하여 날짜에서 요일, 날짜, 시간을 추출하고, ViewHolder 클래스의 TextView에 설정하는 방법을 보여줍니다.

이제 앱을 실행하고 리사이클러뷰에서 각 아이템에 요일, 날짜, 시간이 표시되는 것을 확인할 수 있을 것입니다.

이처럼, 코틀린을 사용하여 안드로이드 앱에서 리사이클러뷰 아이템에 요일, 날짜, 시간을 표시하는 것은 간단하고 유용한 방법입니다.

참고 자료