StreamBuilder<QuerySnapshot>(
stream: reportsCollection
.where('userid', isEqualTo: auth.currentUser?.uid)
.snapshots(),
builder: (context, snapshot) {
if (snapshot.hasData) {
return ListView.builder(
itemCount: snapshot.data!.docs.length,
itemBuilder: (context, index) {
QueryDocumentSnapshot doc = snapshot.data!.docs[index];
return ListTile(
//TODO sort not by id, sort by date desc/asce
leading: Text(doc['time'].toString() +
' to ' +
doc['time2'].toString()),
);
},
);
} else {
return const Center(child: CircularProgressIndicator());
}
},
),
嘿,伙计们,我是新来的,我遇到了一堵墙。对于我的项目,我将数据输入Firebase数据库,并通过Streambuilder w/ ListTile将其显示回我的应用程序。我想计算24小时时钟中使用date time picker的2个时间值之间的差值,并将一个id的所有示例相加,以在percent indicator包中的圆形栏中显示。有20个不同的id。时间值链接到一个id,它们没有按时间顺序显示,我不知道为什么ListTile会突然出现在中间。我有一个类似的东西为另一个页面,所以这一问题是为该页面。我感谢任何帮助,并提前感谢各位。
1条答案
按热度按时间xuo3flqw1#
不使用文本,使用
Datetime.parse
,然后获取差异