单击按钮后重置计数器

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.

请帮忙.

这是我的应用程序屏幕截图的一部分

https://i.stack.imgur.com/R954N.jpg

i_A*_*mok 10

如果有两个不同的类,则在适配器类中添加一个方法以重置计数器.

可能是这样的:

  1. 在适配器类内,添加:

    public void resetCheckedCounter(){
        checkBoxCounter = 0;
    }
    
    Run Code Online (Sandbox Code Playgroud)
  2. 对于"删除"按钮,添加:

    adapter.resetCheckedCounter();
    
    Run Code Online (Sandbox Code Playgroud)

希望这有帮助!