In DeleteTask, ich habe eine Schaltfläche zum Löschen der Liste, wenn Kontrollkästchen in der ListView aktiviert ist.Reset-Zähler nach dem Klicken auf die Schaltfläche
delete.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
int itemCount = listview.getCount();
for (int i = itemCount - 1; i >= 0; i--) {
SearchList search = adapter.getItem(i);
if (search.isSelected()) {
adapter.removeItem(i);
delete.setText("DELETE");
counter=0;
}
}
}
});
In DeleteAdapter, hat es einen Zähler verwendet, um die überprüfte Feld zu zählen und die Zähler in button
anzuzeigen. Sobald der Löschvorgang button
angeklickt wird, wird angenommen, dass der Zähler auf 0 zurückgesetzt wurde und nur DELETE
in delete button
setText anzeigt.
holder.ckbox.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (((CheckBox) v).isChecked()) {
int getPosition = (Integer) v.getTag(); // Here we get the position that we have set for the checkbox using setTag.
search.get(getPosition).setSelected(((CheckBox)v).isChecked()); // Set the value of checkbox to maintain its state.
checkBoxCounter ++;
delete.setText("DELETE"+""+"("+ checkBoxCounter +")");
} else
{
int getPosition = (Integer) v.getTag(); // Here we get the position that we have set for the checkbox using setTag.
search.get(getPosition).setSelected(((CheckBox) v).isChecked()); // Set the value of checkbox to maintain its state.
checkBoxCounter--;
if (checkBoxCounter == 0) {
delete.setText("DELETE");
}
else {
delete.setText("DELETE" + "" + "(" + checkBoxCounter + ")");
}
}
}
});
Mein Problem ist jetzt, wenn die Löschtaste angeklickt wird, es zeigen ‚DELETE‘, aber wenn ich die Markierung des Kästchens, hat der Zähler nicht zurückgesetzt. Wie setze ich den Zähler zurück?
bearbeiten
Ich habe den Zähler auf checkBoxCounter ändern, aber immer noch das gleiche Ergebnis zu erzielen!
delete.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
int itemCount = listview.getCount();
for (int i = itemCount - 1; i >= 0; i--) {
SearchList search = adapter.getItem(i);
if (search.isSelected()) {
adapter.removeItem(i);
delete.setText("DELETE");
checkBoxCounter=0;
}
}
}
});
Wenn ich auf
button
löschen, zeigt die SchaltflächeDELETE
. Aber, wenn ich wieder eine andere Option drücken , beginnt der Zähler aus dem letzten Satz Wert statt 1.
Bitte helfen.
Hier sind Teil meiner app Screenshot
https://i.stack.imgur.com/R954N.jpg
was meinst du mit reset du machst counter = 0 –
Du musst 'checkBoxCounter' auf' 0' in delete onclick listen setzen. Wahrscheinlich ein Tippfehler Sie aktualisieren "Zähler" Wert nicht "checkBoxCounter". –
@jiteshmohite Jedes Mal, wenn auf die Schaltfläche zum Löschen geklickt wird, wird die Schaltfläche Text 'DELETE' gesetzt. Es sollte den Zähler immer auf 0 zurücksetzen.Aber wenn ich das Kontrollkästchen ankreuze, zeigt der Button setText 'DELETE (3)'. – Hoo