android開発:kotlin BaseRecyclerViewAdapterHelperを使用してマルチレイアウトアダプタを作成する

4685 ワード

エンティティークラス:

class MultiItemImgBean(var type: Int, var url: String) : MultiItemEntity {
    override fun getItemType(): Int {
        return type
    }

    companion object {
        const val FIRST_TYPE = 1
        const val SECOND_TYPE = 2
    }

}


アダプター:
class UploadPictureAdapter(data: MutableList<MultiItemImgBean?>?) :
    BaseMultiItemQuickAdapter<MultiItemImgBean?, BaseViewHolder?>(data) {

    init {
        //    type layout   
        addItemType(MultiItemImgBean.FIRST_TYPE, R.layout.item_collect_list)
        addItemType(MultiItemImgBean.SECOND_TYPE, R.layout.item_collect_list)
    }

    override fun convert(helper: BaseViewHolder?, item: MultiItemImgBean?) {
        helper ?: return
        item ?: return
        when (helper.itemViewType) {
            MultiItemImgBean.FIRST_TYPE -> print("     ")
            MultiItemImgBean.SECOND_TYPE -> print("     ")
            else -> print("    ")
        }
    }
}