flutter - 在 Flutter ListView 中,我如何知道视图中第一个和最后一个项目的索引号?
问题描述
给定一个滚动了一些偏移量的 ListView,我如何知道当前视图中的第一个和最后一个项目的索引号?
我试过这个:
class MySliverChildBuilderDelegate extends SliverChildBuilderDelegate {
MySliverChildBuilderDelegate(IndexedWidgetBuilder builder, {int childCount})
: super(builder, childCount: childCount);
@override
void didFinishLayout(int firstIndex, int lastIndex) {
print("firstIndex = $firstIndex / lastIndex = $lastIndex");
}
}
接着:
SliverChildBuilderDelegate childrenDelegate =
MySliverChildBuilderDelegate(itemBuilder, childCount: childCount);
ListView.custom(
controller: _controller,
childrenDelegate: childrenDelegate));
但是那些 firstIndex 和 lastIndex 实际上并不是我所认为的......
解决方案
这个信息是不可用的。
RenderSliverList
您可以获得的最多的是(的较低层)已布置的索引ListView
。
这相当于可见的内容+周围的潜在额外内容。
推荐阅读
- reactjs - 反应引导模式不呈现更新的数据
- python - 无法从 Django 视图发出 POST 请求
- json - 为时间插入 NULL。从 JSON 解码的时间
- python - 如何将海龟的 y 坐标提取为浮点数 - Python 3.x
- c# - 需要一个随机数生成器
- c++ - 找不到程序 .dll 文件
- javascript - 程序运行后如何修复未定义的变量
- python - django.core.exceptions.ImproperlyConfigured:包含的 URLconf '' 似乎没有任何模式
- apache - 如何在 symfony 4 上强制 https 和 www
- java - Spring数据jpa持久化大列表
财产