@ta4

Как реализовать в android обновление item в listview?

У меня есть фрагмент с listview. Каждый item listview содержит фотографию и несколько последних комментариев к ней. Когда я жму на item, то запускается новое activity, где я могу оставить новый комментарий. Допустим я оставил и activity закрыл, т.е. вернулся обратно на fragment с listview. Как мне сделать так, что последний мой комментарий отобразился в списке?
  • Вопрос задан
  • 3231 просмотр
Пригласить эксперта
Ответы на вопрос 2
@JCDenton
Это зависит от того, каким образом Вы поставляете данные для ListView с фотографиями. Я бы сделал следующим образом. Создать класс - поставщик данных о фотографиях, который запоминает дату внесения последних изменений в набор его данных (допустим, назвать его PhotoDataProvider). После добавления нового комментария, в методе onPause() соответствующей Activity, дергать метод PhotoDataProvider.setLastUpdateDate(new Date()). Во фрагменте со списком фотографий тоже запоминать дату последних изменений. В методе onResume() фрагмента сравнивать даты. Если дата, хранящаяся во врагменте, меньше даты, хранящейся в провайдере данных, создавай новый адаптер для ListView и подставлять его. Тут, конечно, непаханное поле для оптимизаций. Но, в целом, алгоритм примерно такой.
Ответ написан
olegvarmy
@olegvarmy
android developer
Используй startActivityForResult(), оставляй комментарий, упаковывай в интент все что тебе нужно, выставляй этот интент методом setResult(), закрывай активити, в onActivityResult() фрагмента принимай тот интент, который отправил и обновляй item listView, который был кликнут.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы