在DeleteTask,我有一个按钮用于删除列表,如果在listView中选中复选框。按钮单击后重置计数器
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;
}
}
}
});
在DeleteAdapter,它具有用于计数检查框和button
显示计数器的计数器。点击删除button
后,计数器将重置为0,并仅显示DELETE
删除button
setText。现在
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 + ")");
}
}
}
});
我的问题是在点击删除按钮时,显示“删除”,但是当我选中该复选框,计数器并没有复位。如何重置计数器?
编辑
我改变计数器checkBoxCounter,但仍然得到同样的结果!
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;
}
}
}
});
当我点击
button
删除按钮显示DELETE
。但是,当我 再按另一个复选框,计数器从最后一组 值,而不是1
请帮助启动。
这里是我的应用程序屏幕的一部分拍摄
https://i.stack.imgur.com/R954N.jpg
你是什么意思重置你正在计数= 0 –
你必须在删除onclick监听器中设置'checkBoxCounter'为'0'。可能是您更新'计数器值'而不是'checkBoxCounter'的错字。 –
@jiteshmohite每次点击删除按钮,按钮将设置文本'删除'。它应该始终将计数器重置为0。但是当我检查复选框时,按钮setText显示'DELETE(3)'。 – Hoo