Android Kotlin RecyclerView에 관광 데이터 표시하기

이성진·2023년 10월 18일
0

TIL

목록 보기
52/95
post-custom-banner

RecyclerView에 관광 데이터 표시하기

1. RecyclerView의 의존성 추가

먼저 , build.gradle에 RecyclerView의 의존성을 추가합니다.

implementation 'androidx.recyclerview:recyclerview:1.x.x'

2. RecyclerViewAdapter 생성

RecyclerView를 사용하기 위해서는 Adapter가 필요합니다. 데이터를 가져와 각 항목에 표시합니다.

class TourAdapter(
    private val onItemClicked: (YourDataClass) -> Unit
) : RecyclerView.Adapter<TourAdapter.ViewHolder>() {

    private var dataList = mutableListOf<YourDataClass>()

    fun setData(data: List<YourDataClass>) {
        dataList = data.toMutableList()
        notifyDataSetChanged()
    }

    override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): ViewHolder {
        val view = LayoutInflater.from(parent.context).inflate(R.layout.item_tour, parent, false)
        return ViewHolder(view)
    }

    override fun onBindViewHolder(holder: ViewHolder, position: Int) {
        holder.bind(dataList[position])
    }

    override fun getItemCount() = dataList.size

    inner class ViewHolder(itemView: View) : RecyclerView.ViewHolder(itemView) {
        fun bind(data: YourDataClass) {
            itemView.itemTitle.text = data.field1
            itemView.itemDate.text = formatDate(data.field2)
            itemView.setOnClickListener { onItemClicked(data) }
        }
    }
}

이때 formatDate는 사용자가 제공한 함수로 날짜를 형식에 맞게 변환합니다.

3. RecyclerView 설정

Activity 또는 Fragment에서 RecyclerView를 설정합니다.

val tourAdapter = TourAdapter { data ->
    // TODO: 항목 클릭시 동작을 정의합니다.
}

binding.tourRecyclerView.apply {
    layoutManager = LinearLayoutManager(this@YourActivity)
    adapter = tourAdapter
}

4. 데이터를 RecyclerView에 연결

API 호출을 통해 데이터를 가져온 후, Adapter의 setData 메서드를 사용하여 데이터를 RecyclerView에 설정합니다.

val fetchedData = // API 호출을 통해 가져온 데이터
tourAdapter.setData(fetchedData)

이로써 Kotlin과 RecyclerView를 이용하여 관광 데이터를 화면에 표시하는 기본적인 과정을 TIL로 작성했습니다. 실제 작업에 필요한 세부 코드와 설정은 프로젝트의 요구 사항에 따라 조금씩 달라질 수 있습니다.

profile
2023.08 ~ Android Kotlin 공부
post-custom-banner

0개의 댓글