BaseRecyclerViewAdapterHelper 第三方的万能适配器

一.地址:
二.导入依赖:
三.BaseRecyclerViewAdapterHelper实现简单布局
1.在布局文件中引入RecyclerView
2.编写条目布局文件
3.编写数据实体类型
4.编写适配器
四.BaseRecyclerViewAdapterHelper设置事件监听
五.BaseRecyclerViewAdapterHelper设置子控件事件监听
六.BaseRecyclerViewAdapterHelper多布局(QQ聊天)
1.Item布局:左布局(省略)
2.Item布局:右布局(省略)
3.实体类
4.适配器
5.使用
一.地址:
陈宇明github官网:http://www.recyclerview.org/
陈宇明简书:https://www.jianshu.com/p/b343fcff51b0/

二.导入依赖:
1.先在项目的 build.gradle(Project:XXXX) 的 repositories 添加:
BaseRecyclerViewAdapterHelper 第三方的万能适配器_第1张图片

2.然后在Module的 build.gradle(Module:app) 的 dependencies 添加
在这里插入图片描述

三.BaseRecyclerViewAdapterHelper实现简单布局
1.在布局文件中引入RecyclerView
BaseRecyclerViewAdapterHelper 第三方的万能适配器_第2张图片

2.编写条目布局文件
3.编写数据实体类型
BaseRecyclerViewAdapterHelper 第三方的万能适配器_第3张图片

4.编写适配器
BaseRecyclerViewAdapterHelper 第三方的万能适配器_第4张图片

四.BaseRecyclerViewAdapterHelper设置事件监听

在这里插入图片描述
五.BaseRecyclerViewAdapterHelper设置子控件事件监听
1.适配器添加点击事件2.为适配器添加ChildListener
BaseRecyclerViewAdapterHelper 第三方的万能适配器_第5张图片
BaseRecyclerViewAdapterHelper 第三方的万能适配器_第6张图片
六.BaseRecyclerViewAdapterHelper多布局(QQ聊天)
1.Item布局:左布局(省略)
2.Item布局:右布局(省略)
3.实体类
BaseRecyclerViewAdapterHelper 第三方的万能适配器_第7张图片

4.适配器

public class QQAdapter extends BaseQuickAdapter<Message, BaseViewHolder> {
     
    public QQAdapter(@Nullable List<Message> data) {
     //数据源
        super(data);
        //TODO 1:设置类型
        setMultiTypeDelegate(new MultiTypeDelegate<Message>() {
     
            @Override
            protected int getItemType(Message message) {
     //返回message的类型
                return message.getType();
            }
        });
        //TODO 2 :设置多布局:什么类型下面加载哪个布局
        getMultiTypeDelegate().registerItemType(Message.LEFT,R.layout.item_qq_left)
                .registerItemType(Message.RIGHT,R.layout.item_qq_right);
    }
    @Override //TODO 3:根据不同类型绑定不同的数据
    protected void convert(BaseViewHolder helper, Message item) {
     
        switch (helper.getItemViewType()){
     //获取类型
            case Message.LEFT://左边布局
                helper.setText(R.id.tv_left,item.getMessage());
                break;
            case Message.RIGHT://右边布局
                helper.setText(R.id.tv_right,item.getMessage());
                break;
        }
    }
}

5.使用
BaseRecyclerViewAdapterHelper 第三方的万能适配器_第8张图片

你可能感兴趣的:(BaseRecyclerViewAdapterHelper 第三方的万能适配器)