android RecyclerView checkbox复用解决
程序员文章站
2022-04-07 21:37:36
先看复用后的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...
先看复用后的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<MyAdpter.ViewHolder> {
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);//强制关闭复用
}
这时候就不会复用第一屏幕的了,不过数据量大的时候内存有点大,数据量大的时候配合使用分页,计算每屏的最大个数;
本文地址:https://blog.csdn.net/s452195377/article/details/107596588
下一篇: 中盟电商:开拼多多店对产品有什么要求?
推荐阅读
-
Android CheckBox中设置padding无效解决办法
-
Android CheckBox中设置padding无效解决办法
-
Android RecyclerView 复用错乱通用解法详解
-
Android RecyclerView 复用错乱通用解法详解
-
Android RecyclerView显示Item布局不一致解决办法
-
Android RecyclerView的卡顿问题的解决方法
-
Android:自定义checkbox并解决内容及复选框之间的问题
-
Android RecyclerView多类型布局卡片解决方案
-
android RecyclerView checkbox复用解决
-
解决Android-RecyclerView列表倒计时错乱问题