Вот поток, которого я хочу достичь:
- получить список элементов и поместить его в ListView в виде ListTile
- при нажатии элемента обновить состояние элемента в Firebase (от непрочитанного до прочитанного )
- refre sh один элемент в списке
- перейти к другому
- при нажатии кнопки «Назад» получить список с обновленным элементом - помеченный как прочитанный
Есть ли возможность обновить sh один элемент в ListView при нажатии? К настоящему времени я пытался использовать метод setState (), но он не работал - элемент обновляется в Firebase, но изменения не появляются в списке, пока я не обновлю sh страницу вручную.
Функция onTap
onTap: () {
setState(() {
_notifications[index].data['viewed'] = true;
});
_userService.setNotificationAsClicked(_notifications[index].data['id']);
Navigator.of(context).pushNamed(_notifications[index].data['routing']);
},
BackButton:
return Container(
child: BackButton(
onPressed: () {
Navigator.pop(context);
},
),
);
EDIT: работает, когда в кнопке «Назад» я использую Navigator.of (context) .pushNamed (...) вместо Navigator.pop (), но в В этом случае мне нужно прокрутить вниз и перезагрузить все элементы ...
Я НАШЕЛ РЕШЕНИЕ !!!
Все, что мне нужно сделать было изменено хранение списка с DocumentSnapshot на список с данными из DocumentSnapshot.