Как восстановить состояние ListView Flutter при возвращении

Как восстановить состояние ListView Flutter при возвращении на этот ListView.

У меня есть ListView, он содержит список, я перехожу на другой экран, а когда возвращаюсь, список перешел в начальное состояние.


Ответы (1 шт):

Автор решения: Yuri Petrov

Разобрался, для того чтобы сохранить состояние списка, надо использовать ключ PageStorageKey.

@override
Widget build(BuildContext context) {
addWidgetToList();
return _formHomePage(key: "home");
}

Widget _formHomePage({String key}) {
return ListView.builder(
    key: PageStorageKey(key),
    addAutomaticKeepAlives: false,
    shrinkWrap: true,
    itemCount: _listWidgets.length,
    itemBuilder: (context, index) {
      return _listWidgets[index];
    });
}
→ Ссылка