Android listview的第一项和最后一项的作用相同
我正在使用ListView显示用户列表。要删除用户,我可以在listview的每一行上使用复选框选择用户,以选择或取消选择用户。 不幸的是,当我选中第一个复选框时,最后一个复选框的行为是相同的,并且也被选中。当我选择最后一个时也是一样,第一个也会被选择 我的适配器中有此代码 我不知道listview中的两个项目是如何像那样链接的,但希望你们中的一些人有一些想法Android listview的第一项和最后一项的作用相同,android,android-studio,listview,baseadapter,Android,Android Studio,Listview,Baseadapter,我正在使用ListView显示用户列表。要删除用户,我可以在listview的每一行上使用复选框选择用户,以选择或取消选择用户。 不幸的是,当我选中第一个复选框时,最后一个复选框的行为是相同的,并且也被选中。当我选择最后一个时也是一样,第一个也会被选择 我的适配器中有此代码 我不知道listview中的两个项目是如何像那样链接的,但希望你们中的一些人有一些想法 @NonNull @Override public View getView(int position, @Nullab
@NonNull
@Override
public View getView(int position, @Nullable View convertView, @NonNull ViewGroup parent) {
ViewHolder viewHolder;
if (convertView == null) {
viewHolder = new ViewHolder();
LayoutInflater inflater = LayoutInflater.from(context);
convertView = inflater.inflate(R.layout.modele_liste_patient, parent, false);
viewHolder.champNomPrenom = convertView.findViewById(R.id.modele_liste_patient_nom_prenom_patient);
viewHolder.champDate = convertView.findViewById(R.id.modele_liste_patient_date_naissance_patient);
viewHolder.icon = convertView.findViewById(R.id.modele_liste_patient_image_patient);
viewHolder.checkBox = convertView.findViewById(R.id.bonjour);
convertView.setTag(viewHolder);
} else {
viewHolder = (ViewHolder) convertView.getTag() ;
}
viewHolder.champNomPrenom.setText(nom_prenom.get(position));
viewHolder.champDate.setText(date_naissance.get(position));
viewHolder.checkBox.setId(id_patient.get(position));
if (supression) {
ImageView imageView = convertView.findViewById(R.id.aurevoir);
viewHolder.checkBox.setVisibility(View.VISIBLE);
imageView.setVisibility(View.INVISIBLE);
convertView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
CheckBox cb = ((ViewHolder) v.getTag()).checkBox;
System.out.println(cb);
if (cb.isChecked()) {
System.out.println("CLICKED ON ID : " + cb.getId());
Cabinet.supprimerIdPourSupression(cb.getId());
cb.setChecked(false);
}
else {
System.out.println("CLICKED ON ID : " + cb.getId());
Cabinet.ajouterIdPourSupression(cb.getId());
cb.setChecked(true);
}
}
});
}
File imgFile = new File(image.get(position));
if (imgFile.exists()) {
Picasso.get()
.load(imgFile)
.resize(80, 80)
.centerCrop()
.transform(new CircleTransform())
.into(viewHolder.icon);
} else {
Picasso.get()
.load("url")
.placeholder(R.drawable.ic_action_utilisateur_default)
.error(R.drawable.ic_action_utilisateur_default)
.transform(new CircleTransform())
.into(viewHolder.icon);
}
return convertView;
}
private static class ViewHolder {
TextView champNomPrenom;
TextView champDate;
ImageView icon;
CheckBox checkBox;
}
}