Android Docs에 따르면
It is RecyclerView.Adapter base class for presenting List data in a RecyclerView, including computing diffs between Lists on a background thread.
백그라운드 스레드에서 리스트간의 차이를 계산해주는 RecyclerView.Adapter를 바탕으로 하는 클래스이다.
class HomeMemoAdapter: ListAdapter<Memo, HomeMemoAdapter.HomeMemoViewHolder>(object : DiffUtil.ItemCallback<Memo>(){
override fun areItemsTheSame(oldItem: Memo, newItem: Memo):
Boolean = oldItem == newItem
override fun areContentsTheSame(oldItem: Memo, newItem: Memo):
Boolean = oldItem == newItem
}) {
override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): HomeMemoViewHolder {
val binding: ItemHomeMemoBinding =
ItemHomeMemoBinding.inflate(LayoutInflater.from(parent.context), parent, false)
return HomeMemoViewHolder(binding)
}
override fun onBindViewHolder(holder: HomeMemoViewHolder, position: Int) {
holder.bindTo(getItem(position))
}
inner class HomeMemoViewHolder(binding: ItemHomeMemoBinding) : RecyclerView.ViewHolder(binding.getRoot()) {
val binding : ItemHomeMemoBinding = binding
fun bindTo(memo: Memo){
// TODO :: BIND MEMO
binding.tvContent.text = memo.content
}
}
}
'컴퓨터 공학 > Android' 카테고리의 다른 글
Parcelable vs Serializable, 안드로이드 직렬화 (0) | 2020.11.04 |
---|---|
Android 이미지 로딩 라이브러리 워크플로우 (0) | 2020.11.04 |
BottomSheetDialogFragment를 Fullscreen으로 보이기 (0) | 2020.04.16 |
안드로이드 라이브러리 배포하기 jCenter, bintray (0) | 2019.03.01 |
안드로이드 Firebase Crashlytics 적용 오류 (0) | 2019.02.22 |