android - “字符串”类型不是“时间戳”类型的子类型
问题描述
我对颤动比较陌生。我一直在处理以前开发人员编写的颤振代码库。因此,每当我导航到应用程序中的历史页面时,它都会抛出异常,说明类型“字符串”不是“时间戳”类型的子类型。我不知道代码有什么问题。任何帮助将不胜感激。我已经被困了几天了。createddate 的类型是字符串。
docs.documents.forEach((i) {
Timestamp date = i.data['createddate'];
DateTime dates = date.toDate();
DateFormat inputFormat = DateFormat("yyyy-MM-dd HH:mm:ss");
DateTime parsedDate = inputFormat.parse(dates.toString());
print(approvestatus + 'dada');
if ((filterFrom
.subtract(Duration(hours: 24))
.isBefore(parsedDate) &&
filterTo
.add(Duration(hours: 24))
.isAfter(parsedDate)) &&
(i.data['shopkeeperid'].toString() == uid) &&
(i.data['productid']
.toString()
.toLowerCase()
.contains(searchvalue.toString()) ||
i.data['productname']
.toString()
.toLowerCase()
.contains(searchvalue.toString()) ||
i.data['productbrand']
.toString()
.toLowerCase()
.contains(searchvalue.toString()) ||
i.data['availablequantity']
.toString()
.toLowerCase()
.contains(searchvalue.toString()) ||
searchvalue == "")) {
childrenWidgets.add(productView(i, context));
}
});
解决方案
您的代码中有一个 timeStamp 变量,您正在尝试将一个字符串传递给它。我无法清楚地理解这段代码。但是您必须在每一行上放置调试点。例如第一行
Timestamp date = i.data['createddate'];
如果它data['createddate'];
是一个字符串,它可以使这个错误放置调试点,你可以看到每个值,你也将能够理解你的代码从哪个点不会继续前进
推荐阅读
- java - 如何将图像从 URL 加载到 Java Android?代码没有错误,但它不起作用
- react-native - 反应原生显示布局
- android - Cloud Firestore 在 Android 和 IOS 之间的区别
- c# - ASP.NET 核心 3.1 | 控制器操作方法中的参数模型始终为空,且表单数据较大
- typescript - 与 Typescript 等效的 typedef
- kubernetes - 使用注释监视秘密
- firebase - 无法从 Firebase 中的多个集合中删除项目
- r - 在 data.frame 列中列出
- java - 使用 HomeBrew 安装 Java OpenJDK:为什么不同位置的 java 版本相同?
- r - 如何在R中的括号内提取字符串匹配?