Flutter Listview - 字幕和DateDiff问题
Flutter Listview - Subtitle and DateDiff problem
我需要你的帮助:)
我认为这是行不通的……但我的意思是我可以用一个额外的页面来做到这一点,比如“详细信息页面”并显示数据。那么这是我的问题
我的主屏幕上有一个 listview.Builder 用于我的所有条目。
它只显示一个图标、标题(名称)和一个日期(日期是我可以在添加屏幕中定义的未来日期)
好了,我的问题来了。我需要一个 Datediff。我不想显示未来日期 (endTime),我想要今天和未来日期之间的天数
child: ListTile(
leading: CircleAvatar(
backgroundImage:
AssetImage('asset/veggi.png'), ),
title: Text(vegetableEntry.items[index].title),
onTap: () => Navigator.of(context).pushNamed(vegetableDetailScreen.routeName,
arguments: vegetableEntry.items[index].id),
subtitle: Text(vegetableEntry.items[index].endTime.difference(dateNow2).inDays),
有些像:
that i get on my subtitle smth like: Icon/ Title(name) /DaysLeft: 29 (checks everytime on open?)
我收到错误:
方法 'difference' 没有为类型 'String' 定义。
尝试将名称更正为现有方法的名称,或定义名为 'difference'.
的方法
我知道我可以在 DetailScreen 中用
修复它
DateTime startDate = _pickedStartDate;
DateTime endDate = _pickedEndDate;
final daysLeft = endDate.difference(startDate).inDays;
print(daysLeft);
但我认为这在 Listview.builder 中是不可能的?
我希望这是可以理解的并且有人可以帮助我
此致,
祝你有个愉快的一天:)
这在 ListView.builder
中实际上是可能的。只需在 return ListTile
之前完成 builder
函数中的工作。您不能使用 (context, index) =>
。你必须使用 (context, index) {}
.
您还可以将 Timestamp
String
转换为 DateTime
内联
subtitle: Text(DateTime.parse(vegetableEntry.items[index].endTime).difference(dateNow2).inDays.toString(),
我需要你的帮助:) 我认为这是行不通的……但我的意思是我可以用一个额外的页面来做到这一点,比如“详细信息页面”并显示数据。那么这是我的问题
我的主屏幕上有一个 listview.Builder 用于我的所有条目。 它只显示一个图标、标题(名称)和一个日期(日期是我可以在添加屏幕中定义的未来日期)
好了,我的问题来了。我需要一个 Datediff。我不想显示未来日期 (endTime),我想要今天和未来日期之间的天数
child: ListTile(
leading: CircleAvatar(
backgroundImage:
AssetImage('asset/veggi.png'), ),
title: Text(vegetableEntry.items[index].title),
onTap: () => Navigator.of(context).pushNamed(vegetableDetailScreen.routeName,
arguments: vegetableEntry.items[index].id),
subtitle: Text(vegetableEntry.items[index].endTime.difference(dateNow2).inDays),
有些像:
that i get on my subtitle smth like: Icon/ Title(name) /DaysLeft: 29 (checks everytime on open?)
我收到错误: 方法 'difference' 没有为类型 'String' 定义。 尝试将名称更正为现有方法的名称,或定义名为 'difference'.
的方法我知道我可以在 DetailScreen 中用
修复它 DateTime startDate = _pickedStartDate;
DateTime endDate = _pickedEndDate;
final daysLeft = endDate.difference(startDate).inDays;
print(daysLeft);
但我认为这在 Listview.builder 中是不可能的?
我希望这是可以理解的并且有人可以帮助我
此致, 祝你有个愉快的一天:)
这在 ListView.builder
中实际上是可能的。只需在 return ListTile
之前完成 builder
函数中的工作。您不能使用 (context, index) =>
。你必须使用 (context, index) {}
.
您还可以将 Timestamp
String
转换为 DateTime
内联
subtitle: Text(DateTime.parse(vegetableEntry.items[index].endTime).difference(dateNow2).inDays.toString(),