具有多个部分的ListAdapter

时间:2019-08-13 10:13:57

标签: android kotlin android-recyclerview recycler-adapter

有什么想法如何实现具有多个部分的RecyclerView.ListAdapter并保持ListAdapter的功能(计算差异)?

1 个答案:

答案 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){

        }
    }