Chaque fois que défiler vers le haut et vers le bas, je perds vérifier l'état de la case à cocher.Android perdu de vérifier l'état après le défilement
Je ne peux pas résoudre ce problème pendant deux jours ......
S'il vous plaît aidez-moi
Voici mon code.
public View getView(final int position, View view, ViewGroup parent) {
context = parent.getContext();
inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
if (view == null) {
holder = new ViewHolder();
view = inflater.inflate(R.layout.custom_llistview, parent, false);
holder.img_view = (ImageView) view.findViewById(R.id.custom_imageView);
holder.txt_view = (TextView) view.findViewById(R.id.custom_textView);
holder.checkbox = (CheckBox) view.findViewById(R.id.check_box);
view.setTag(holder);
}
else {
holder = (ViewHolder)view.getTag();
}
holder.checkbox.setChecked(check_flag_arr[position]);
holder.checkbox.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
if (isChecked) {
check_flag_arr[position] = isChecked;
else {
check_flag_arr[position] = isChecked;
}
}
});
file_path = list_item.get(position).getFile_path();
Bitmap showImage = BitmapFactory.decodeFile(file_path);
holder.img_view.setImageBitmap(showImage);
list_contents = file_path.substring(45, 65);
holder.txt_view.setText(list_contents);
return view;
}
Et l'explication détaillée sera un grand plaisir pour moi.
Je dois résoudre ce problème.
Merci d'avoir regardé mon message.
Votre si et les autres font la même chose. Donc cela devient redondant. Ce n'est pas la cause de votre problème mais je voulais juste vous le faire savoir. if (isChecked) { check_flag_arr [position] = isChecked; else { check_flag_arr [position] = isChecked; } –
Merci pour votre commentaire. Mais je le sais déjà. C'est pour la lisibilité à moi. Mon code original a différentes déclarations dans if et else respectivement. –
@ Na Jun Yeop Vérifiez ma réponse ci-dessous. Cela devrait fonctionner pour vous –