先看复用后的Adpter代码,这时候checkbox是一直在复用的;

package com.example.demo;import android.content.Context;import android.view.LayoutInflater;import android.view.View;import android.view.ViewGroup;import android.widget.CheckBox;import androidx.annotation.NonNull;import androidx.recyclerview.widget.RecyclerView;import java.util.List;import javax.security.auth.callback.Callback;public class MyAdpter extends RecyclerView.Adapter {    private List list;    private Context context;    public MyAdpter(List list, Context context) {        this.list = list;        this.context = context;    }    @NonNull    @Override    public ViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {        View inflate = LayoutInflater.from(context).inflate(R.layout.item_demo, parent, false);        ViewHolder viewHolder=new ViewHolder(inflate);        return viewHolder;    }    @Override    public void onBindViewHolder(@NonNull ViewHolder holder, int position) {        holder.checkBox.setText(list.get(position)+"");    }    @Override    public int getItemCount() {        return list.size();    }    class ViewHolder extends RecyclerView.ViewHolder{        CheckBox checkBox;        public ViewHolder(@NonNull View itemView) {            super(itemView);            checkBox=itemView.findViewById(R.id.cb_man);        }    }}

效果图为:

 当选择第一屏幕的第一个的时候,由于一屏幕最大显示的只有这么多,所以当第9个的时候是第二屏幕,第9复用了第1个的控件,解决办法为:

 @Override    public void onBindViewHolder(@NonNull ViewHolder holder, int position) {        holder.checkBox.setText(list.get(position)+"");        holder.setIsRecyclable(false);//强制关闭复用    }

这时候就不会复用第一屏幕的了,不过数据量大的时候内存有点大,数据量大的时候配合使用分页,计算每屏的最大个数; 

 

更多相关文章

  1. Android(安卓)实现 zlib压缩与解压
  2. android利用ViewPager做的介绍软件功能demo
  3. android圆角dialog,并限制宽度和高度
  4. android传感器类别
  5. 短视频带货源码模仿QQ 测滑菜单
  6. Android(安卓)app 判断是手机还是平板
  7. android 获取屏幕大小
  8. android 屏幕截屏
  9. mybatisplus的坑 insert标签insert into select无参数问题的解决

随机推荐

  1. (二)Android系统信息
  2. android Linearlayout中有关gravity与lay
  3. 笔记 RelativeLayout:相对布局管理器:
  4. Android平台开发-Android(安卓)keypad ma
  5. Android单元测试之Local unit tests(下)
  6. Android内存管理、监测剖析
  7. android开发每日汇总【2011-12-6】
  8. android:visibility属性
  9. running Android(安卓)Studio on Windows
  10. EditText 的常用属性与解释