RecyclerAdapter的使用!我们不生产水,我们只是大自然的搬运工。

本文介绍如何使用RecyclerAdapter实现自定义适配器,并通过实例演示如何处理数据绑定、点击事件等常见需求。

RecyclerAdapter的官网需要了解更多滴滴进去吧!

上面是官网,我就不解释了直接上代码

 框架的引入

先在 build.gradle(Project:XXXX) 的 repositories 添加:

    allprojects {
        repositories {
            ...
            maven { url "https://jitpack.io" }
        }
    }

然后在 build.gradle(Module:app) 的 dependencies 添加:

    dependencies {
            compile 'com.github.CymChad:BaseRecyclerViewAdapterHelper:2.9.30'
    }

adapter适配器

1、首先需要继承BaseQuickAdapter,然后BaseQuickAdapter<Status, BaseViewHolder>第一个泛型Status是数据实体类型,第二个BaseViewHolder是ViewHolder其目的是为了支持扩展ViewHolder。

2、重写父类的方法

3、我们说下上面的第一个泛型<T>这个泛型是一个实体类数据,在我们工作当中可能会遇到不是集合的实体类,这个时候就需要我们自己在套一层list,就可以完美解决!

4、官网又说上下文就是nContext,但是呢为了减少不必要的bug呢!推荐使用getApplicationContext()

public class SystemMsgAdapter extends BaseQuickAdapter<SystemMsgBean.ListBean, BaseViewHolder> {
    public SystemMsgAdapter(int layoutResId, @Nullable List<SystemMsgBean.ListBean> data) {
        super(layoutResId, data);
    }

    @Override
    protected void convert(BaseViewHolder helper, SystemMsgBean.ListBean item) {
        helper.setText(R.id.sys_brief_tv, item.getBrief());
  //里面是自己的逻辑问题,但是需要点击事件呢一定要绑定,
}
页面问题和点击事件

//数据问题建议大家判断一下哈! 有时候不能太详细后台也不要太相信自己,更不要去相信网络

private void initOrderRecyclerData() {


        if (mLists == null) {
            mLists = new ArrayList<>();
        }

        if (mAdapter == null) {
            mLists.addAll(mListBeans);
            mAdapter = new OrderRecyclerAdapter(R.layout.order_recycler_item, mLists);
            mRecyclerView.setAdapter(mAdapter);
        } else {
            if (mPage == 1) {
                mLists.clear();
            }
            mLists.addAll(mListBeans);
            mAdapter = new OrderRecyclerAdapter(R.layout.order_recycler_item, mLists);
            mRecyclerView.setAdapter(mAdapter);
        }
//点击事件
        mAdapter.setOnItemClickListener(new BaseQuickAdapter.OnItemClickListener() {
            @Override
            public void onItemClick(BaseQuickAdapter adapter, View view, int position) {
                
            }
        });
//你所绑定的item的点击事件
        mAdapter.setOnItemChildClickListener(new BaseQuickAdapter.OnItemChildClickListener() {
            @Override
            public void onItemChildClick(BaseQuickAdapter adapter, View view, int position) {
                Intent intent = null;
                switch (view.getId()) {
                    //取消订单
                    case R.id.order_tv_cancel_pay:
          
                        break;
                    //付款
                    case R.id.order_tv_pay:
       
                        break;
                    //确定收货
                    case R.id.order_tv_confirm:
              
                        break;
                    //物流信息
                    case R.id.order_tv_logistics:
          
                        break;
     
                    case R.id.order_tv_logistics_1:
            
                        break;
                    default:
                        break;
                }
            }
        });

    }

上面之间简单说了一下使用,如果你想要更多更炫的动画,就去官网自己学习吧!


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值