当true为true时,Flutter ListView始终滚动到底部

时间:2019-10-23 03:57:12

标签: android flutter flutter-listview

为什么我使用反向是正确的,它用于实现从实时数据库中按时间添加排序来获取消息。完成此操作后,ToP处的新消息和旧消息位于列表视图中。一切正常,这是我想要的条件。但是列表视图总是滚动到底部而不是顶部。如果用户进入页面,他将首先看到旧帖子,而不是新帖子。这是我的颂歌

function main() {
  let myinterval = setInterval_NonEssential(() => {
    console.log("Still alive");
  }, 1000);
  process.on('only-non-essential-work-remains', () => {
    clearInterval(myinterval);
  });

  // do any number of other things
  // ...
}

main();

如果我删除反向:对。那么旧帖子位于顶部,新消息位于底部。但是在这种情况下,listview不会滚动到底部。简而言之,当我同时使用两种情况时。用户只能先看到旧帖子。但我想首先看到他们的新帖子。 enter image description here

1 个答案:

答案 0 :(得分:0)

在两种情况下,您都需要滚动到列表的末尾,因为:

  • 如果列表颠倒,则列表的末尾将是列表的顶部 您看到的清单
  • 如果列表未反转,则列表的末尾将是底部 您看到的列表中的

因此,对于这两种情况,您都可以在initState()内执行此操作:

SchedulerBinding.instance.addPostFrameCallback((_) =>
        _scrollController.jumpTo(_scrollController.position.maxScrollExtent));