【发布时间】:2019-05-17 17:00:57
【问题描述】:
我不知道问题出在我的代码中还是在 ListView 中。查看我的Final(Edited)代码here。
我正在处理分页。当我到达最后一页并向上/向下滚动 ListView 时,滚动变得迟钝。我认为这可能是因为这条线。
leading: CircleAvatar(backgroundImage: NetworkImage(arrayOfProducts[index]['thumbnail'] ?? "")),
NetworkImage 可能需要一些时间来加载图像。不确定,但我认为滞后是由它引起的。所以我添加了新包cached_network_image并将我的代码更改为:
leading: CircleAvatar(child: CachedNetworkImage(
imageUrl: arrayOfProducts[index]['thumbnail'] ?? "",
placeholder: new CircularProgressIndicator(),
errorWidget: new Icon(Icons.error),
)),
但它仍然滞后,并且以前的图像现在在滚动时被隐藏了。
【问题讨论】:
-
我更感兴趣的是 _callAPIToGetListOfData() 方法被调用了多少次? ,请您添加这一行 print("Network call started");到这个方法的最开始并开始滚动,它接缝你正在为每个滚动调用设置状态。这可以解释为什么以前加载的图像在滚动时被隐藏。
-
@SaedNabil - 仅在满足(controller.position.extentAfter arrayOfProducts.length 时调用
-
我认为这种情况是问题 controller.position.extentAfter
-
但是还有其他条件,不仅是controller.position.extentAfter
-
如果您愿意提供这些信息,我无法在您的帖子请求中访问 url、accessToken 和 paramDic,因此我无法重现该问题