Ich habe jetzt ein Problem, dass ich wirklich nicht weiß, was los ist.Kontrollkästchen in benutzerdefinierten ListView und selectAll Button Bug
Zuerst lassen Sie mich erklären, was ich tun möchte. Ich habe eine benutzerdefinierte ListView, die meine Benutzerdetails und ein Kontrollkästchen daneben zeigt. Wenn ich das Kontrollkästchen aktiviert habe, wird das selectAll-Kontrollkästchen zunächst nicht automatisch aktiviert.
Daher habe ich die folgenden Codes implementiert. Es funktioniert zuerst perfekt, aber am Ende fand ich heraus, dass, wenn ich zu viel Item habe, dass ich nach unten scrollen muss, das System erkannt hat, dass ich das Häkchen abgehakt habe und mir hilft, meine "Zählung" abzuziehen.
@Override
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
if(buttonView == selectAll){
selectAll.setChecked(isChecked);
for(int i = 0; i < theList.size(); i++){
theList.get(i).setSelected(isChecked);
theList.get(i).setCheckAll(isChecked);
}
notifyDataSetChanged();
}else{
int position2 = (Integer) buttonView.getTag();
if(isChecked){
theList.get(position2).setSelected(true);
System.out.println("count here positions:"+ position2);
count++;
System.out.println("count here:"+ count);
if(count == theList.size())
{
selectAll.setChecked(true);
}
//String this_is_the_comment = theList.get(position2).getApprComments();
//System.out.println(this_is_the_comment);
}else{
theList.get(position2).setSelected(false);
count--; //when i scroll down the if condition will come to here
System.out.println("count here: -- "+count);
if (selectAll.isChecked()) {
selectAll.setChecked(false);
for (int i = 0; i < theList.size(); i++) {
theList.get(i).setSelected(true);
theList.get(position2).setSelected(false);
}
}
}
}
Bitte bitte helfen Sie mir mit diesem Fehler. Ich bin verloren und fest für 3 Tage.
Jungs. Entschuldigung für mein schlechtes Englisch, das Problem, dem ich jetzt gegenüberstehe ist, dass, wenn ich den Bildschirm hinunter scrolle, ich in count-- kommen werde; was ist ich weiß nicht, warum das passiert ist –