【问题标题】:Flutter ListView into ListView.builderFlutter ListView 到 ListView.builder
【发布时间】:2020-09-18 20:48:58
【问题描述】:

我想将此 ListView 转换为 ListView.builder,因为我需要索引。有人可以告诉我如何 cnvert thsi ListView 吗?`感谢您的帮助 :)

return new ListView(
   children: snapshot.data.documents.map((DocumentSnapshot document) {
                  return new ListTile(
                    title: new Text(document['name']),
                  );
                }).toList(),
              );

【问题讨论】:

    标签: android listview flutter dart


    【解决方案1】:

    这里是如何创建一个提供索引的 ListView 构建器

     var documents = snapshot.data.documents.map((DocumentSnapshot document);
        return ListView.builder(
         itemCount: documents.length,
        itemBuilder: (context, index) => {
           // Just an example, use your own fields
           Text(documents[index].Name);
        });
    

    【讨论】:

    • 虽然此代码可以解决 OP 的问题,但最好包含关于您的代码如何解决 OP 问题的说明。这样,未来的访问者可以从您的帖子中学习,并将其应用到他们自己的代码中。 SO 不是编码服务,而是知识资源。此外,高质量、完整的答案更有可能得到支持。这些功能,以及所有帖子都是独立的要求,是 SO 作为一个平台的一些优势,使其与论坛区分开来。您可以编辑以添加其他信息和/或使用源文档补充您的解释。
    【解决方案2】:

    您只需提供一个构建器功能。为数据中的每个项目调用此函数。您使用 itemCount 设置的项目数量。

    例子:

    var dataList = []; //this would be your snapshot data
    
      @override
      Widget build(BuildContext context) {
        return Scaffold(
          appBar: AppBar(
            title: Text(gallery),
          ),
          body: ListView.builder(
            itemBuilder: (context, index) => ListTile(
              title: Text(dataList[index]),
            ),
          ),
        );
      }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-05-01
      • 2019-04-27
      • 2020-11-16
      • 1970-01-01
      • 2021-12-14
      • 2021-06-17
      • 2021-04-30
      相关资源
      最近更新 更多