RecyclerView - TEAMSTORMERS/STORM_Android GitHub Wiki
์ค๋ณต์ฝ๋ ํด๊ฒฐ, ๋ฆฌ์ฌ์ดํด๋ฌ๋ทฐ ๊ตฌํ์ ๋ํ ํต์ผ์ฑ ๋ถ์ฌ
class ParticipatedProjectsAdapter () : BaseAdapter<ParticipatedProjectsData>(){
override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): BaseViewHolder<ParticipatedProjectsData> {
return ParticipatedProjectsViewHolder(parent)
}
}
BaseAdapter
์์
- ํด๋น ์ด๋ํฐ์์ ์ฌ์ฉํ ๋ฐ์ดํฐ ๋ชจ๋ธ์ ์ ๋ค๋ฆญ์ผ๋ก ์ ์ธ
onCreateViewHolder
๋ฅผ override
- ์ฌ์ฉํ
ViewHolder
๋ฅผ ๋ง๋ค์ด ๋ฆฌํดํ๊ธฐ๋ง ํ๋ฉด ๋จonCreateViewHolder
์์ ๋ฐ์parent: ViewGroup
๋ฅผ ํ๋ผ๋ฏธํฐ๋ก ๋๊ฒจ์ค
class RoundmeetingViewHolder(parent: ViewGroup) : BaseViewHolder<RoundmeetingData>(R.layout.item_roundmeeting, parent) {
val ImageView_added_card_roundmeeting = itemView.findViewById<ImageView>(R.id.ImageView_added_card_roundmeeting)
override fun bind(data : RoundmeetingData){
Glide.with(itemView).load(data.ImageView_added_card_roundmeeting).into(ImageView_added_card_roundmeeting)
}
}
BaseViewHolder
์์
- ํด๋น ๋ทฐ ํ๋์์ ์ฌ์ฉํ ๋ฐ์ดํฐ ๋ชจ๋ธ์ ์ ๋ค๋ฆญ์ผ๋ก ์ ์ธ
- ํด๋น ๋ทฐ ํ๋์์ ์ฌ์ฉํ item layout์ layoutRes ๋ฅผ ํ๋ผ๋ฏธํฐ๋ก ๋๊ฒจ์ค
- ์์ฑ์๋ก ๋ฐ์ parent ๋ํ ํ๋ผ๋ฏธํฐ๋ก ๋๊ฒจ์ค
bind
๋ฅผ override
- ๋งค๊ฐ๋ณ์๋ก ๋ฐ์
data
๊ฐ ํด๋น ๋ทฐ ํ๋์์ ์ฌ์ฉ๋ ๋ฐ์ดํฐ ๋ชจ๋ธ- ํ๋๋๋ก ๋ฐ์ธ๋ฉ ํด์ฃผ๋ฉด ๋๋ค.
participatedProjectsAdapter = ParticipatedProjectsAdapter()
recycler_participated_projects_list.adapter = participatedProjectsAdapter
ํ๋ผ๋ฏธํฐ ์์ด ์ด๋ํฐ ์ ์ธ ๋ฐ ์ ์ฉ
participatedProjectsAdapter.addAll(datas)
๋ฐ์ดํฐ ์ ์ฉ ์ addAll ๋ฉ์๋๋ก ๊ฐํธ ์ฌ์ฉ notify ํ์ ์์
์์ธํ ํด๋์ค ๋ช ์ธ๋ BaseAdapter, BaseViewHolder ๋ฅผ ์ด์ด๋ณด๋ฉด ์ดํด ๊ฐ๋ฅํจ
์ ์ํ๋ฉด ๋ฆฌ์ฌ์ดํด๋ฌ๋ทฐ 5๋ถ๋ง์ ์ฐ์ด๋ด๋ ๊ฒ ๊ฐ๋ฅ !