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