У меня есть ListView с записями разнообразного выбора, где некоторые проверяются с начала с помощью
setItemChecked(position, true);
Я комбинирую это с опцией фильтрации
setTextFilterEnabled(true)
таким образом, легко найти определенную запись в списке.
Проблема - это, когда я фильтрую список положение переключателя записей в представлении списка. Возьмите, например, три записи: 'B' и 'C', где 'C' проверяется заранее (т.е. запись в положении 3 в списке). Когда я тип a 'C' на клавиатуре, только запись 'C' отображена (как предназначено). Теперь 'C' больше не проверяется, так как запись переместилась от проверенного положения 3 до положения 1 непроверенного в списке.
Это поведение приводит к некоторым не очень желанные эффекты в приложении. Существует ли способ "переместить выбор с фильтрацией", т.е. связать проверенное состояние с записью а не с ее исходным положением в списке? Или я должен найти новый подход?
Спасибо,
Linus
Ведите список выбранных элементов, и каждый раз, когда список пополняется, проверяйте, существует ли этот id
(не позиция) в списке, и устанавливайте его как выбранный.