Android 复杂首页搭建BaseMultiItemQuickAdapter,详解简单易学

关于不同类型多布局的展示BaseMultiItemQuickAdapter详解


二  新篇章

对于Android 初学者来说,说到数据展示,相信大家对一定会想到ListView 或者 RecyclerView,但是简单的数据展示这个确实没毛病。当出现复杂数据需要多布局展示的时候,这个时候相信大部分人想到的都是各种嵌套 , 最常见的 是ScrollView , ListView 以及 RecyclerView 三者之间的 嵌套;当你嵌套的时候问题来了,最大的问题不外乎滑动事件冲突,以及滑动卡顿问题 ,这个时候要么去自定义 要么去重写方法,对于初学者来说是一件很头疼的事情,其实当你看Google官方文档的时候你会发现 当初在设计的时候并没有要开发者去嵌套使用,接下来我给大家介绍一种三方的框架 BaseMultiItemQuickAdapter
,希望能够帮助到Android  初学者!这是一个简单易懂使用的框架 

如果需要定义多个不同类型的布局,需要知道以下几点:
重写getItemViewType()方法,根据需求规则给出不同的type值。
在onCreateViewHolder()方法里面根据不同的type来创建不同的ViewHolder
在onBindViewHolder()里面根据不同holder的类型来赋予相对于的数据
如果有额外布局(如:头部尾部)需要修改getItemCount()方法的返回数量
多个不同的布局的实现
1.重写了getDefItemViewType()方法,其实也就是父类的getItemViewType()里面的方法,
2.type搞定了,接下来就是调用onCreateDefViewHolder()了,根据上面的type来创建不同的ViewHolder,
3.然后再接下来调用onBindDefViewHolder(),根据上面创建的ViewHolder的类型不同来进行相应的赋值。
添加头部和尾部

下面直接上代码:

 

MultipleItemQuickAdapter 类:

public class MultipleItemQuickAdapter extends BaseMultiItemQuickAdapter<MultipleItem, BaseViewHolder> implements View.OnClickListener {
    private String SUGGEST_DATE = "SUGGEST_DATE";
    private String SUGGEST_GOODS_DATE = "SUGGEST_GOODS_DATE";
    private String TIME_DATE = "TIME_DATE";
    private Context mContext;
    private HomeHeadResponse mHomeHeadResponse;
    private int page = 1;
    private NewsShopsItemAdapter itemClickAdapter;


    public MultipleItemQuickAdapter(Context context, List data) {
        super(data);
        this.mContext = context;
        addItemType(MultipleItem.ITEM_TYPE_1, R.layout.item_type_1);
        addItemType(MultipleItem.ITEM_TYPE_2, R.layout.item_type_2);
        addItemType(MultipleItem.ITEM_TYPE_3, R.layout.item_type_3);
        addItemType(MultipleItem.ITEM_TYPE_4, R.layout.item_type_4);
        addItemType(MultipleItem.ITEM_TYPE_5, R.layout.item_type_5);
        addItemType(MultipleItem.ITEM_TYPE_6, R.layout.item_type_6);
    }


    @Override
    protected void convert(BaseViewHolder helper, MultipleItem item) {
        switch (helper.getItemViewType()) {
            case MultipleItem.ITEM_TYPE_1:
                 i

  • 3
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值