обновление представления списка со временем

#java #android #listview

#java #Android #listview

Вопрос:

Я пишу приложение для мировых часов, в котором я использую пользовательский список и адаптер. Я показываю список городов и их время. Проблема в том, что я хочу постоянно обновлять время для каждого города, показанного в представлении, по мере прохождения секунд. Как мне это сделать?

Ответ №1:

Если у вас настроен адаптер для listview, вы можете обновить набор данных адаптера и уведомить представление об изменениях, см. Этот api: notifyDataSetChanged() . но поскольку он обновляется каждую секунду. Я не уверен, что этот метод эффективен с точки зрения производительности.

Комментарии:

1. Производительность будет в порядке, потому что список будет передавать только видимые записи для обновления.

2. Пока ваш адаптер настроен эффективно, все должно быть в порядке. В конце концов, вы меняете каждый элемент на экране, а ListView имеет путь к макету ярлыка, который он использует, когда адаптеры меняют содержимое представления по сравнению с когда представления изменяют содержимое за пределами getView адаптера. Убедитесь, что вы не используете wrap_content для высоты ListView.

Ответ №2:

Отслеживание представлений, используемых для отображения отдельных времен, не поможет, поскольку представления используются повторно — лучше всего уведомить список об изменении набора данных и обновить отдельные представления. Если вы проявите осторожность и будете повторно использовать виды города, количество обновлений вида будет невелико.