有什么想法如何实现具有多个部分的RecyclerView.ListAdapter并保持ListAdapter
的功能(计算差异)?
答案 0 :(得分:0)
您必须在模型类中创建on字段以标识viewType,然后在listAdapter中覆盖此方法
override fun getItemViewType(position: Int): Int {
// Based on position set here view type / section type
val myModel = getItem(position)
when(myModel.viewType){
isBanner ->
isVerticalList ->
isTextField ->
else ->
}
}
返回类型是整数值,因此您可以简单地返回视图ID本身,例如R.id.banner_type
然后
override fun onCreateViewHolder(parent: ViewGroup, viewType: Int){
when(viewType){
}
}