Разница между ListView invalidate() и invalidateViews()?
В чем разница между ListView.invalidate() и ListView.invalidateViews()?
Для меня недействительным () один не работал. В то время как invalidateViews () работал так, как я хотел, т.е. перерисовывал элементы списка.
1 ответ
В соответствии с недействительным View на веб-странице Android, ListView.invalidate() будет
Опровергнуть весь взгляд. Если видимость видна, вызывается onDraw(android.graphics.Canvas)
Это перерисовывает фон холста через onDraw
событие. Это полезно, когда внешний вид / ощущения изменились.
ListView.invalidateViews(), указанный в Android AbsListView invalidateViews,
Заставляет все представления быть перестроенными и перерисованными.
Я думаю, это означает, что он "перестроит" измененные данные, связанные с ListView, и обновит внешний вид. Однако это также обновляет дочерние представления, и это отнимает много времени. Обычно я использую notifyDataSetChanged() BaseAdapter, когда данные изменились.
В заключение, используйте метод, который соответствует вашим потребностям.