Flutter _scrollController.addListener никогда не выполняется - PullRequest
0 голосов
/ 01 марта 2020

Я следовал очень многим решениям в этом вопросе, и мне кажется, что ничего не работает! Я создал переменную слушателя следующим образом: ScrollController _scrollController = ScrollController(); И затем подключил ее к контроллеру ListView.builder следующим образом:

ListView.builder(
              controller: _scrollController,
              itemCount: _posts.length,
              scrollDirection: Axis.vertical,
              shrinkWrap: true,
              itemBuilder: (BuildContext context, int index) {
                Post post = _posts[index];
                return FutureBuilder(
                    future: DatabaseService.getUserWithId(post.authorId),
                    builder: (BuildContext context, AsyncSnapshot snapshot) {
                      if (!snapshot.hasData) {
                        return SizedBox.shrink();
                      }
                      User author = snapshot.data;
                      return PostItem(post: post, author: author);
                    });
              },
            ),

, а затем вызвал функцию addListener в initState следующим образом:

@override
  void initState() {
    super.initState();
    WidgetsBinding.instance.addObserver(this);

    // set up listener here
    _scrollController.addListener(() {
      print('are we even here?!');
      if (_scrollController.offset >=
              _scrollController.position.maxScrollExtent &&
          !_scrollController.position.outOfRange) {
        setState(() {
          print('reached the bottom');
        });
      } else if (_scrollController.offset <=
              _scrollController.position.minScrollExtent &&
          !_scrollController.position.outOfRange) {
        setState(() {
          print("reached the top");
        });
      } else {
        setState(() {
          print('were here');
        });
      }
    });
    loadUserData();
    _setupFeed();
  }

print('are we even here?!'); никогда не отображается в logcat. Что я тут не так делаю?

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