简体   繁体   English

如何在 Kotlin 中创建分段回收视图?

[英]How can I create a sectioned recyclerview in Kotlin?

How can I create a sectioned recyclerview in Kotlin based on list, and sections need to be grouped by one of the subtype of Data model?如何根据列表在 Kotlin 中创建分段回收视图,并且需要按数据 model 的子类型之一对部分进行分组?

You can have your ViewHolder be a sealed class with one child for each type of view you wanna display (subtypeA, subtypeB, maybe divider etc)您可以让您的 ViewHolder 成为一个密封的 class,对于您想要显示的每种类型的视图(子类型 A、子类型 B,可能是分隔符等)都有一个孩子

Then in your adapter you create the correct viewholder based on the viewType然后在您的适配器中,您根据 viewType 创建正确的视图


override fun getItemViewType(position: Int): Int = when (getItem(position)) {
        is XXXUIModel.SubTypeA -> SUBTYPE_A
        is XXXUIModel.SubTypeB -> SUBTYPE_B
        is XXXUIModel.Divider -> DIVIDER
    }


override fun onCreateViewHolder(
        parent: ViewGroup,
        viewType: Int,
    ): XXXAdapterViewHolder = when (viewType) {
        SUBTYPE_A -> XXXViewHolder.SubYypeA
        SUBTYPE_B -> XXXViewHolder.SubYypeB
        DIVIDER -> XXXViewHolder.Divider
        ....

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM