gpt4 book ai didi

flutter - 使列表项相对于Flutter中的日期出现

转载 作者:行者123 更新时间:2023-12-03 04:15:44 28 4
gpt4 key购买 nike

我有一个 streambuilder ,它返回列表 View 生成器
我希望我的列表项以新添加的项显示在顶部的顺序显示。
当前它出现在随机位置。

我已经从firestore database动态生成了项目。

还可以请告诉我如何将字符串值转换为color,以便我可以从firestore存储和检索颜色吗?

这是流的代码:

import 'package:bvb_firebase/shareable/constants.dart';
import 'package:cloud_firestore/cloud_firestore.dart';
import 'package:flutter/material.dart';
import 'package:intl/intl.dart';

class HistoryCardStreamer extends StatefulWidget {
final int rikeshS;
final int bibinS;

HistoryCardStreamer({this.rikeshS, this.bibinS});

@override
_HistoryCardStreamerState createState() => _HistoryCardStreamerState();
}

class _HistoryCardStreamerState extends State<HistoryCardStreamer> {
final _firestore = Firestore.instance;

@override
Widget build(BuildContext context) {
return Container(
height: 300,
child: StreamBuilder<QuerySnapshot>(
stream: _firestore.collection('matches').snapshots(),
builder: (context, snapshot) {
if (!snapshot.hasData)
return Center(
child: CircularProgressIndicator(),
);

return Container(
height: 300,
child: ListView.builder(
reverse: true,
itemCount: snapshot.data.documents.reversed.length,
itemBuilder: (context, index) {
DocumentSnapshot matchDetail = snapshot.data.documents[index];

return Card(
elevation: 0,
color: Color(0xffA92323),
child: Container(
margin: EdgeInsets.only(top: 5),
child: ListTile(
title: Text(
matchDetail['WinnerText'],
style: kcardtitleTextStyle,
),
leading: Container(
width: 45,
margin: EdgeInsets.only(top: 12, right: 5),
child: FittedBox(
child: Text(matchDetail['Score'],
style: kcardtitleTextStyle),
),
),
subtitle: Text(
'${DateFormat.yMMMd().format(DateTime.now())}',
style: kcardDateStyle),
trailing: GestureDetector(
onDoubleTap: () async {
await _firestore
.collection('matches')
.document(matchDetail.documentID)
.delete();
},
child: IconButton(
icon: Icon(Icons.delete),
onPressed: () {},
),
),
),
),
);
},
),
);
},
),
);
}
}

应用程式 as shown

最佳答案

在向Firestore添加数据时,您可以添加时间戳或服务器时间戳,而在查询集合时,您可以根据时间戳值订购数据

添加数据

"timeStamp":FieldValue.serverTimestamp(); /"timeStamp":Timestamp.now(),

查询数据
 .collection('matches').orderby("timestamp", descending:true).snapshots()

Also can you please tell me how to convert a string value to color so that i can store and retrieve color from firestore?



您不能这样做,因为Color没有一个接受String表示颜色的构造函数,为此您可以使用Color属性值。您可以保存它,然后使用它来创建新的Color对象。

代码看起来像这样

Color pickerColor = new Color(0xff443a49);
String testingColorString = pickerColor.toString();

Color newColor = new Color(pickerColor.value);

关于flutter - 使列表项相对于Flutter中的日期出现,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58814049/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com