Hoo*_*Hoo 8 checkbox android counter listview
在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;
}
}
}
});
Run Code Online (Sandbox Code Playgroud)
在DeleteAdapter中,它有一个计数器,用于计算复选框并显示计数器button.button单击删除后,计数器将重置为0并仅DELETE在删除buttonsetText中显示.
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 + ")");
}
}
}
});
Run Code Online (Sandbox Code Playgroud)
我现在的问题是当点击删除按钮时,它显示'DELETE',但是当我检查checkBox时,计数器没有重置.如何重置计数器?
编辑
我已将计数器更改为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;
}
}
}
});
Run Code Online (Sandbox Code Playgroud)
当我单击
button删除时,按钮显示DELETE.但是,当我再次按下另一个复选框时,计数器从最后一个设定值开始而不是1.
请帮忙.
这是我的应用程序屏幕截图的一部分
i_A*_*mok 10
如果有两个不同的类,则在适配器类中添加一个方法以重置计数器.
可能是这样的:
在适配器类内,添加:
public void resetCheckedCounter(){
checkBoxCounter = 0;
}
Run Code Online (Sandbox Code Playgroud)对于"删除"按钮,添加:
adapter.resetCheckedCounter();
Run Code Online (Sandbox Code Playgroud)希望这有帮助!
| 归档时间: |
|
| 查看次数: |
749 次 |
| 最近记录: |