Предотвращение свертывания выбранной группы при обновлении (с использованием расширяемого списка и загрузчиков курсора
Я в значительной степени следую приведенному здесь примеру SimpleCursorTreeAdapter и CursorLoader для ExpandableListView. Но у меня также есть асинхронная задача для обновления базы данных. Я замечаю, что когда у меня есть расширенная группа, она сворачивается, а затем расширяется прямо перед обновлением. Я разыскал его, и он, кажется, находится в onLoadFinished прямо там, где устанавливается setChildrenCursor. Как я могу избежать мигания во время обновления данных. Я огляделся повсюду, но, похоже, ничего не решило эту конкретную проблему. Любая помощь приветствуется.
1 ответ
Я последовал тому же примеру и столкнулся с той же проблемой. После нескольких часов исследований я обнаружил, что эффект мерцания был вызван обновлением таблицы в базе данных.
Во избежание мигания в адаптере нужно переопределить notifyDataSetChanged
как это
@Override
public void notifyDataSetChanged() {
notifyDataSetChanged(false);
}