Android recyclerView适配

Android recyclerView适配,第1张

概述看来代码真的是一段时间不敲手就生,刚才在写项目的时候,发现之前闭着眼都能写出来的recyclerview适配都忘记怎么写了,在这里巩固一下,省的又忘了,哈哈哈首先就是创建类继承RecyclerView.Adapter<MyViewHolder>这个MyViewHolder就是我们的item布局recyclerviewAdapter类:packag

看来代码真的是一段时间不敲手就生,刚才在写项目的时候,发现之前闭着眼都能写出来的recyclervIEw适配都忘记怎么写了,在这里巩固一下,省的又忘了,哈哈哈

首先就是创建类继承 RecyclerVIEw.Adapter<MyVIEwHolder> 这个MyVIEwHolder就是我们的item布局

recyclervIEwAdapter类:

package com.jiuhao.jhjk.adapter.welcome;import androID.annotation.Suppresslint;import androID.content.Context;import androID.support.annotation.NonNull;import androID.support.v7.Widget.RecyclerVIEw;import androID.vIEw.LayoutInflater;import androID.vIEw.VIEw;import androID.vIEw.VIEwGroup;import androID.Widget.ImageVIEw;import androID.Widget.TextVIEw;import com.jiuhao.jhjk.R;import com.jiuhao.jhjk.bean.DepartmentBean;import java.util.ArrayList;import java.util.List;/** * Created by lixiaona on 2019/8/23. */public class administrativeRecycler extends RecyclerVIEw.Adapter<administrativeRecycler.administrativeVIEwHolder> {    private Context context;    private List<DepartmentBean> List = new ArrayList<>();    private String departmentnamestr;    private im_onListen monListen;    private int flag = -1;    public administrativeRecycler(Context context, List<DepartmentBean> mDataList, String departmentnamestr,im_onListen monListen) {        this.context = context;        this.List = mDataList;        this.departmentnamestr = departmentnamestr;        this.monListen=monListen;    }    @NonNull    @OverrIDe    public administrativeVIEwHolder onCreateVIEwHolder(@NonNull VIEwGroup vIEwGroup, int i) {        VIEw vIEw = LayoutInflater.from(context).inflate(R.layout.item_administrative, vIEwGroup, false);        return new administrativeVIEwHolder(vIEw);    }    @OverrIDe    public voID onBindVIEwHolder(@NonNull administrativeVIEwHolder administrativeVIEwHolder, int i) {        DepartmentBean departmentBean = List.get(i);        String departmentname = departmentBean.getDepartmentname();        administrativeVIEwHolder.subject.setText(departmentname);        administrativeVIEwHolder.administrative.setonClickListener(new VIEw.OnClickListener() {            @OverrIDe            public voID onClick(VIEw vIEw) {                flag = i;                monListen.imOnListen(i);                notifyDataSetChanged();            }        });        if (departmentnamestr.equals(departmentname) && flag == -1) {            administrativeVIEwHolder.administrative.setimageResource(R.mipmap.select);        } else if (flag == i) {            administrativeVIEwHolder.administrative.setimageResource(R.mipmap.select);        } else {            administrativeVIEwHolder.administrative.setimageResource(R.mipmap.select1);        }    }    @OverrIDe    public int getItemCount() {        return List.size();    }    public interface im_onListen {         voID imOnListen(int postion);    }    class administrativeVIEwHolder extends RecyclerVIEw.VIEwHolder {        public TextVIEw subject;        public ImageVIEw administrative;        @Suppresslint("WrongVIEwCast")        public administrativeVIEwHolder(@NonNull VIEw itemVIEw) {            super(itemVIEw);            subject = itemVIEw.findVIEwByID(R.ID.subject);            administrative = itemVIEw.findVIEwByID(R.ID.administrative);        }    }}

这个administrativeVIEwHolder 类可以是单独的类同样也可以是内部类 看自己的习惯吧

说明一下这里面的几个方法:
onCreateVIEwHolder():绑定item布局vIEwholder
getItemCount():返回item个数
重点要说明的就是onBindVIEwHolder():数据设置
这个是有多少条item就会走几遍 我每次到这逻辑就容易出错 总结

以上是内存溢出为你收集整理的Android recyclerView适配全部内容,希望文章能够帮你解决Android recyclerView适配所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/1111397.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-29
下一篇2022-05-29

发表评论

登录后才能评论

评论列表(0条)

    保存