向ListView.builder flutter firebase添加项目

时间:2018-07-08 20:29:15

标签: firebase google-cloud-firestore flutter

我正在尝试在列表的开头添加标题项,因此这是我使用firebase构建标题的方法

new Expanded(
            child: new StreamBuilder(
                stream: Firestore.instance
                    .collection("users")
                    .document("dana")
                    .collection("Channels")
                    .snapshots(),
                builder: (context, snapshot) {
                  return new ListView.builder(
                    scrollDirection: Axis.vertical,
                    itemCount: snapshot.data.documents.length,
                    itemBuilder: (context, index) => _buildList(
                        context, snapshot.data.documents[index]),
                  );
                }),
          )

“ _ buildList”只是小部件

Widget _buildListItem(BuildContext context, DocumentSnapshot document) 

所以我基本上迷路了,我不知道如何添加另一个Widget作为标题 有什么建议吗?

1 个答案:

答案 0 :(得分:1)

当列表位于索引0上时,您可以返回“标题”窗口小部件(您想要在列表视图上方但仍在其中的窗口小部件):

return new ListView.builder( 
    scrollDirection: Axis.vertical, 
    itemCount: snapshot.data.documents.length, 
    itemBuilder: (context, index) { 
        if (index == 0) {
            return someWidget, // return the widget you want as "header" here
        } else {
           return _buildList( context, snapshot.data.documents[index-1]), 
        }
    }
);