如何解决在Flutter中滚动时,PageView feed返回到第二索引
因此,我正在使用Fluke的PageView进行Feed。我的供稿存储在Firestore中的文档中,并且显示图像URL。 Feed逻辑非常简单,它将首先加载2张图片,并以2的倍数继续加载。因此,我使用private void ShowCategoryView()
{
IsBrandView = false;
}
public void FilterbyBrand()
{
IsBrandView = true;
BrandView.Filter = item => (item as Car).Category.Equals(_selectedCategory.Category,StringComparison.OrdinalIgnoreCase);
OnPropertyChanged("BrandView");
}
进行滚动并通过Future获取我的图片网址并存储将它们放在PageView
中,最初的2张图片可以正常工作,但问题出在后来。因此,要加载更多2张图像,我会检索它们并将它们附加到现有列表中。我已经检查了断点,它们可以正常工作,但是要刷新列表中新添加的图像URL,我必须调用List
,我认为该错误存在。因此,错误基本上是,在2张初始图像之后,当我尝试滚动时,它会滚动并瞥见下一张图像,然后折叠并返回到setState()
的第二个索引。
PageView
更新:由于调用了PageView.builder(
...
if((index+1) % 2 == 0) {
loadFeed(cIndex,dindex).then((value) {
value.forEach((element) {
imageList.add(element);
});
setState(() {});
print("len: " + imageList.length.toString());
});
}
...
)
Future<List> loadFeed(int cIndex,int dindex) async {
int pastCIndex = await Feed().getCatIndex();//1
int newCIndex = cIndex + pastCIndex;//1+1
int pastdindex = await Feed().getDogIndex();
int newdindex = dindex + pastdindex;
List<Map> newFeedList = new List();
newFeedList = await Feed().getFirestoreFeed(newCIndex,newdindex);
// imageList.addAll(newFeedList);
return newFeedList;
}
函数,因此IT可能返回了上一个索引。因此,可以使用什么解决方案,因为我无法将itemBuilder函数转换为异步函数来检索更新的图像URL列表。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。