Как обновить данные пожарного хранилища при прокрутке ListView во флаттере? - PullRequest
0 голосов
/ 24 мая 2019

У меня есть горизонтальное ListView в моем приложении, оно загружает данные из Firebase Cloud Firestore. Каждый элемент имеет свой уникальный идентификатор. То, что я хочу сделать, это когда пользователь прокручивает, я хочу обновить документ Firestore с фокусом на id из ListView элемента. Есть ли способ сделать это?

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


class HomeTabState extends State<HomeTab> with SingleTickerProviderStateMixin {

  ScrollController _scrollController;

  @override
  void initState() {
    super.initState();
    _scrollController = ScrollController();
    _scrollController.addListener(updateSelectedApp);
  }

  void updateSelectedApp() {
    var value = _scrollController.offset.round();
    var appIndex = (value / 200).round();
    Firestore.instance.collection("status").document(this.widget.user.uid).setData({
      "appsSection": {
        "isActive": true,
        "selectedAppId": this.widget.apps[appIndex].id,
      }
    }, merge: true);
  }

  ...

}

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...