
看来代码真的是一段时间不敲手就生,刚才在写项目的时候,发现之前闭着眼都能写出来的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适配所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)