[Android Studio] 리사이클러뷰 만들기
1. xml 파일에 리사이클러뷰를 넣어준다.
<activity_main.xml>
2. 리사이클러뷰에 들어갈 데이터를 만들어준다.
나같은 경우는 채팅 기능을 만들고있기 때문에 채팅 데이터를 만들어주었다.
<ChatData.kt>
data class ChatData(
val nickname: String = "",
val msg: String = "",
val email: String = ""
)
3. 리사이클러뷰 아이템 xml 파일을 만들어준다.
이 디자인으로 아이템들이 들어가게된다.
<rv_item.xml>
4. 리사이클러뷰 어댑터를 만들어준다.
<RVAdapter.kt>
class RVAdapter(val items: MutableList<ChatData>, val context: Context) :
RecyclerView.Adapter<RVAdapter.ViewHolder>() {
override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): RVAdapter.ViewHolder {
//뷰홀더를 생성(레이아웃 생성)하는 코드 작성
val view = LayoutInflater.from(context).inflate(R.layout.rv_item, parent, false)
return ViewHolder(view)
}
override fun onBindViewHolder(holder: RVAdapter.ViewHolder, position: Int) {
//뷰홀더가 재활용될때 실행되는 메소드 작성
holder.bindItems(items[position])
}
override fun getItemCount(): Int {
return items.size
}
inner class ViewHolder(itemView: View) : RecyclerView.ViewHolder(itemView) {
fun bindItems(item: ChatData) {
val rv_nickname = itemView.findViewById<TextView>(R.id.rv_nickname_textView)
rv_nickname.text = item.nickname
val rv_msg = itemView.findViewById<TextView>(R.id.rv_msg_textView)
rv_msg.text = item.msg
val rv_profile_btn = itemView.findViewById<Button>(R.id.rv_profile_btn)
rv_profile_btn.setOnClickListener {
Intent(context, ProfileActivity::class.java).apply {
putExtra("이메일", item.email)
putExtra("닉네임", item.nickname)
}.run { context.startActivity(this) }
}
}
}
}
5. MainActivity에서 어댑터를 연결해준다.
<MainActivity.kt>
//리사이클러뷰 어댑터 연결
val rv = findViewById<RecyclerView>(R.id.recycler_view)
val rvAdapter = RVAdapter(items, this)
rv.adapter = rvAdapter
rv.layoutManager = LinearLayoutManager(this)
6. 끝!
Author And Source
이 문제에 관하여([Android Studio] 리사이클러뷰 만들기), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@woonyumnyum/Android-Studio-리사이클러뷰-만들기저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)