Intereting Posts
Android – Забыл пароль хранилища ключей. Могу ли я дешифровать файл хранилища ключей? Чтение текстового файла с сервера на Android Как создать многоразовые обертки XML для файлов макета Android YouTubeAndroidPlayerAPI не может воспроизводить некоторые видеоролики Ошибка SSL SSL HttpGet (без сертификата партнера) ИЛИ (соединение закрыто одноранговым) Преобразование формата даты в формат android Отображение мягкой клавиатуры при открытии объекта AlertDialog.Builder Опубликовать данные объекта Json, чтобы получить ответ массива Json с помощью volley in android Невозможно создать файлы на Android с помощью Xamarin Android: TextView внутри ScrollView: как ограничить высоту Как переопределить метод с помощью сочетания клавиш в Android Studio Как получить доступ к определенному элементу каждого элемента сетки Как получить BackgroundColorSpan для выбранного текста в android Android SharedPreferences String Set – некоторые элементы удаляются после перезагрузки приложения Android ANR keyDispatchingTimedOut Ошибка при непрерывном нажатии на экран

Сбросить счетчик после нажатия кнопки

В DeleteTask у меня есть кнопка, используемая для удаления списка, если флажок установлен в спискеView.

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 + ")"); } } } }); 

Моя проблема теперь в том, когда нажата кнопка удаления, она показывает «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; } } } }); 

Когда я нажимаю button Удалить», кнопка показывает DELETE . Но, когда я снова нажимаю еще один флажок, счетчик начинается с последнего установленного значения вместо 1.

Пожалуйста помоги.

Вот часть экрана моего приложения

/images//R954N.jpg

Solutions Collecting From Web of "Сбросить счетчик после нажатия кнопки"

Если есть два разных класса, добавьте метод внутри класса адаптера, чтобы сбросить счетчик.

Может быть так:

  1. Внутри класса адаптера добавьте:

     public void resetCheckedCounter(){ checkBoxCounter = 0; } 
  2. Для кнопки «Удалить» добавьте:

     adapter.resetCheckedCounter(); 

Надеюсь эта помощь!

checkBoxCounter = 0 Внутри функции checkBoxCounter = 0 (). И для обеспечения безопасности вы можете изменить код ниже, чтобы избежать обновления checkBoxCounter из какой-либо другой части кода.

  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"); checkBoxCounter = 0; } else { delete.setText("DELETE" + "" + "(" + checkBoxCounter + ")"); } } } }); 

Вместо counter = 0 вам нужно сделать checkBoxCounter = 0 внутри delete click listener