0

我有一个 sqlite 数据库。有存储的数字和名称。有些数字是重复的,因为它们属于名称。它看起来像这样:

我目前正在尝试在列表视图中输出此数据库。为此,我在 FutureBuilder 那里拍摄了一张包含数据的快照:snapshot.data[index].name

之后我返回一张卡片,我必须在其中输入 snapshot.data[index][name] 作为文本。我的问题是每个条目都有自己的卡片。看起来像这样:

Number: 1 Name: Gunther
------------------------------------
Number 1 Name: Hans
------------------------------------
Number 2 Name: Tobi

但我希望它在一起,这样如果数字相同,名字就会共用一张卡片。

Number: 1 Name: Gunther
Number: 1 Name: Hans
---------------------------
Number: 2 Name: Tobi

我怎样才能做到这一点?

这是我的代码:

      body: Center(
        child: Card(
          child: new FutureBuilder<List<Auftraege>>(
            future: fetchAuftraegeFromDatabase(),
            builder: (context, snapshot) {
              if (snapshot.hasData) {

                return ListView.builder(
                  // itemExtent: 80.0,
                  itemCount: snapshot.data.length,
                  itemBuilder: (context, index) {
                    return Card(
                      elevation: 20.0,
                      child: Column(
                        children: <Widget>[
                          ListTile(
                            title: Text(snapshot.data[index].number +
                                snapshot.data[index].name),
                          ),
                        ],
                      ),
                    );
                    // }
                  },
                );
              } else if (snapshot.hasError) {
                return new Text("${snapshot.error}");
              }
              return new Container(
                alignment: AlignmentDirectional.center,
                child: new CircularProgressIndicator(),
              );
            },
          ),
        ),
      ),
4

0 回答 0