Flutter:如何知道列表视图中的项目位置?

Posted

技术标签:

【中文标题】Flutter:如何知道列表视图中的项目位置?【英文标题】:Flutter: How to know item position inside a listview? 【发布时间】:2019-09-05 01:41:12 【问题描述】:

我有一个项目的列表视图,但我很想知道如何在列表视图中找到它的当前位置,有人知道吗?

【问题讨论】:

职位是什么意思?索引已经存在,您可以通过它找出位置。 我认为他需要知道屏幕上可见的最后一个元素。所以他可以查看 5/10 的计数 【参考方案1】:

相信你的问题不属于这种情况:

ListView.builder
  (
    itemCount: litems.length,
    itemBuilder: (BuildContext ctxt, int index)       
     return new Text('my Index is: $index');
    
  )

而是关于如何知道你在当前滚动

我建议关注这个article

Expanded(
            child: NotificationListener<ScrollNotification>(
              onNotification: (scrollNotification) 
                // Basically you need something like:
                // final _index = scrollOffset (or position) / item height; 

              ,
              child: ListView.builder(
                itemCount: 30,
                itemBuilder: (context, index) 
                  return ListTile(title: Text("Index : $index"));
                ,
              ),
            ),
          ),

【讨论】:

不知道每件物品的高度怎么办? 目前有任何解决方案吗?【参考方案2】:

像这样使用ListView.builder

ListView.builder(
    itemCount: items.length,
    itemBuilder: (BuildContext context, int index) 
     return new Text('The Position is: $index');
    
)

索引代表项目的位置。

【讨论】:

以上是关于Flutter:如何知道列表视图中的项目位置?的主要内容,如果未能解决你的问题,请参考以下文章

如何知道单击项目在列表视图中相对于android中的屏幕的y位置

Flutter 中的列表视图

如何在 Flutter 中删除列表视图顶部的项目?

如何从 Flutter 中的网格视图计数访问生成列表中的特定单元格?

Flutter如何滚动到SliverList中的特定项目位置?

如何将Listview数据裁剪到android中的滚动位置?