Я показываю записи из базы данных SQLite в расширяемом ListView, и все работает правильно, но я хотел добавить флажок рядом со всеми дочерними элементами. Каждый раз, когда я устанавливаю флажок, а затем прокручиваю вниз или сжимаю флажок, который я проверил, он не сохраняет состояние флажка. Я знаю, что список перерабатывается всякий раз, когда я прокручиваю вниз и расширяю группы и так далее. Как я могу сохранить состояние каждого флажка (каждым ребенком)? У меня есть класс, который расширяет CursorTreeAdapter и в методах нет «childPosition». Что мне нужно сделать, чтобы сохранить состояние?Как сохранить состояние флажков в расширяемом списке - Android
2
A
ответ
1
вы можете иметь массив булевых флагов того же размера, что и сумма элементов списка, и установить и получить проверенное значение из этого массива для любого компонента.
0
Еще одно решение - вы можете держать счетчик для каждого элемента в виде списка. Например, если у вас есть список Person, вы можете добавить одну переменную счетчика в свой класс Person.
И в методе getChildView поместите все коды в блок if, как показано ниже;
public View getChildView(final int groupPosition, final int childPosition, boolean isLastChild, View convertView, final ViewGroup parent) {
//FOR SAVE THE STATES!!
if(parents.get(groupPosition).getCounter()==0) {
DatePicker datePicker = null;
Button ok = null;
Spinner installment = null;
CheckBox creditCard;
......//BLA BLA BLA
//After finish your codes, increment the counter
parents.get(groupPosition).setCounter((parents.get(groupPosition).getCounter()+1));
}
return convertView;
}
Поскольку для каждого вызванного метода expandGroup все инициализации (на данный момент они находятся в блоке if) повторяются. Из-за этого вы теряете свое состояние объектов.
Надеюсь, что эта помощь.
Смежные вопросы
- 1. Как получить состояние флажка в расширяемом списке в android
- 2. сохранить состояние кнопки переключателя в расширяемом списке просмотров
- 3. Как сохранить состояние флажков, присутствующих в списке навсегда?
- 4. Как снять отметку со всех флажков в расширяемом списке?
- 5. ImageView в расширяемом списке
- 6. Как сохранить состояние элемента в списке Android android
- 7. кнопка в расширяемом списке
- 8. Удалить группу в расширяемом списке
- 9. Как заполнять другой ребенок в расширяемом списке?
- 10. Как установить ограничение для ребенка в расширяемом списке в android
- 11. Выделите выделенный элемент в расширяемом списке
- 12. Фрагмент действия в расширяемом списке?
- 13. флажок в расширяемом списке просмотров
- 14. Как использовать внешний шрифт в расширяемом списке? (Android Studio)
- 15. Как реализовать переключатель в расширяемом списке просмотров
- 16. Android: необходимо сохранить состояние флажка в пользовательском списке адаптеров
- 17. 2 разных listviews в одном расширяемом списке
- 18. Автоматическое изменение состояния ящика в расширяемом списке {Android}
- 19. Как получить состояние флажков
- 20. Как сохранить состояние флажков в пользовательском listview с помощью sharedpreferences?
- 21. Как сохранить состояние флажков и радиообъектов в asp.net mvc?
- 22. Изменение цвета каждой строки в расширяемом списке в android
- 23. Попытка выделить выделенный текст в Android Studio в расширяемом списке
- 24. .notifydatasetchanged не работает в расширяемом списке в android
- 25. Сохранить ViewGroup состояние: Android
- 26. Android Dev: сохранить состояние
- 27. Android - отключить подсветку onClick для одной группы в расширяемом списке?
- 28. привязка данных для Android в расширяемом списке просмотров
- 29. Android Многократная панель поиска в расширяемом списке просмотров
- 30. Android: упорядочить заголовки по алфавиту в расширяемом списке
Спасибо, что ответили. В каком методе я бы назвал этот массив, чтобы установить флажок, если я прокручиваю резервную копию? Кроме того, вы могли бы предоставить примерный код? – user990230
вам нужно использовать этот массив в методе getChildView, он будет вызываться назад всякий раз, когда вы будете прокручивать назад или устанавливать адаптер, у меня сейчас нет образца, но вы можете искать и следить за ссылками для настройки расширяемого вида списка и вы получите достаточную помощь. – jeet