在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