0
ScrollController not attached to any scroll views.
'package:flutter/src/widgets/scroll_controller.dart': 
package:flutter/…/widgets/scroll_controller.dart:1 
Failed assertion: line ** pos **: '_positions.isNotEmpty'

这不是解决此问题的确切方法,而是一种解决方法。我正在尝试构建一个像 Whatsapp 这样的聊天应用程序。正如您已经知道的那样,在您可以查看群组消息或任何聊天的屏幕中,当您进入聊天时,滚动从最底部开始。

为了实现这一点,你可能试图animateTo maxScrollExtent喜欢我,但它什么也没做,只是在标题中制造了很多错误。如果您只想在每次进入该屏幕或打开和关闭键盘时从底部开始列表,您只需在下面的答案中做。

4

1 回答 1

0

使用 或任何可滚动小部件的reverse属性ListView.builder来反转列表系统。当您执行此操作时,您获取的列表也将反向显示 - 第一项位于底部,最后一项位于顶部。要解决此问题,请将 替换为index如下<yourListName>.length - index - 1所示。这将“规范化”反向列表的排序。

ListView.builder(
  reverse: true,
  itemCount: booList.length,
  itemBuilder: (context, index)
  { 
    return booList[booList.length - index - 1];
  },
),
于 2022-01-03T18:47:53.617 回答