万能适配器BaseRecyclerViewAdapterHelper

本文介绍了如何使用BaseRecyclerViewAdapterHelper作为万能适配器,包括添加Gradle依赖,创建数据Bean类,以及编写适配器代码,以实现不同布局的灵活适配。

万能适配器

万能适配器依赖:

添加给主项目Gradle的依赖

 maven {
            url 'https://jitpack.io'
        }

添加给需要项目的依赖

implementation 'com.github.CymChad:BaseRecyclerViewAdapterHelper:2.9.42'
implementation 'com.android.support:recyclerview-v7:28.0.0'

万能适配器的代码

首先需要封装一个Bean类,将需要显示的数据封装进去

String pic;
    String title;

    public Bean(String pic, String title) {
        this.pic = pic;
        this.title = title;
    }

    public String getPic() {
        return pic;
    }

    public void setPic(String pic) {
        this.pic = pic;
    }

    public String getTitle() {
        return title;
    }

    public void setTitle(String title) {
        this.title = title;
    }

适配器代码


    MainActivity activity;

    public MyBaseRecyclerViewAdapter(int layoutResId, @Nullable List<Bean> data, MainActivity activity) {
        super(layoutResId, data);
        this.activity = activity;
    }

    @Override
    protected void convert(BaseViewHolder helper, Bean item) {
        helper.setText(R.id.tv,item.getTitle());
        Glide.with(activity).load(item.getPic()).into((ImageView) helper.getView(R.id.iv));
    }

通过Activity传入数据源以及布局文件

String path="http://www.qubaobei.com/ios/cf/dish_list.php?stage_id=1&limit=200&page=1";
    ArrayList<Bean> list = new ArrayList<>();
    MyBaseRecyclerViewAdapter myBaseRecyclerViewAdapter;
    RecyclerView recyclerView;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        recyclerView = findViewById(R.id.rv);

        OkGo.<String>get(path).execute(new StringCallback() {
            @Override
            public void onSuccess(Response<String> response) {
                String body = response.body();

                Gson gson = new Gson();
                JavaBean javaBean = gson.fromJson(body, JavaBean.class);
                List<JavaBean.DataBean> data = javaBean.getData();
                for (int i=0;i<data.size();i++) {
                    JavaBean.DataBean dataBean = data.get(i);
                    String pic = dataBean.getPic();
                    String title = dataBean.getTitle();

                    list.add(new Bean(pic,title));
                }
                myBaseRecyclerViewAdapter = new MyBaseRecyclerViewAdapter(R.layout.layout, list,MainActivity.this);
                recyclerView.setAdapter(myBaseRecyclerViewAdapter);
                recyclerView.setLayoutManager(new LinearLayoutManager(MainActivity.this));
            }
        });

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值