更多分享:http://cherylgood.cn
version:2.8.5
今天我们来看下BaseRecyclerViewAdapterHelper是如何实现多布局的。
首先我们要实现多类型布局,我们的adapter不再是继承自BaseQuickAdapter类,而是继承自其的子类
BaseMultiItemQuickAdapter。而且数据源类型需要继承自MultiItemEntity,
MultiItemEntity是一个接口,代码很少:
package com.chad.library.adapter.base.entity;
/**
* https://github.com/CymChad/BaseRecyclerViewAdapterHelper
*/
public interface MultiItemEntity {
int getItemType();
}
其主要用意是我们的数据源继承MultiItemEntity,这样子,我们可以在数据源中动态的返回一个int类型的数值(代表某一类型的item),大家可以想一下,我们在渲染viewholder的时候,如果想实现多类型的viewholder,而viewholder的类型展示又跟所需绑定的数据息息相关,那么如果我们在数据源中提供一种确定viewholder类型的能力,理论上是不是就可以达到我们要的效果了?我们带着这样的一个假设继续往下看。
而这个BaseMultiItemQuickAdapter 是何许人也,是如何实现多类型布局的呢?我们来看下源码:
package com.chad.library.adapter.base;
import android.support.annotation.LayoutRes;
import android.util.SparseArray;
import android.view.ViewGroup;
import com.chad.library.adapter.base.entity.MultiItemEntity;
import java.util.List;
/**
* https://github.com/CymChad/BaseRecyclerViewAdapterHelper
*/
public
BaseRecyclerViewAdapterHelper多类型布局源码解析

本文深入探讨了BaseRecyclerViewAdapterHelper如何实现多布局。通过分析源码,指出关键步骤包括在getItemViewType中返回布局类型值,onCreateDefViewHolder中创建ViewHolder,以及onBindViewHolder中绑定数据。文章适用于理解Android开发中的多类型RecyclerView适配器实现。
最低0.47元/天 解锁文章
2410

被折叠的 条评论
为什么被折叠?



