如何解决'int' 类没有实例 getter 'millisecondsSinceEpoch'
我想在颤振中构建一个同步融合图。我从 firebase 实时数据库中检索数据。数据将显示在图表中。我在这里遇到了问题。他们说的是'millisecondsSinceEpoch'。但我的代码中没有它。但有一个问题。这是我的代码:
import 'dart:async';
import 'package:firebase_database/firebase_database.dart';
import 'package:Flutter/material.dart';
import 'package:syncfusion_Flutter_charts/charts.dart';
class Chart extends StatelessWidget {
@override
Widget build(BuildContext context) {
return Scaffold(
body: SafeArea(
child: HolyChart(),),);
}
}
class HolyChart extends StatefulWidget {
@override
_HolyChartState createState() => _HolyChartState();
}
class _HolyChartState extends State<HolyChart> {
Timer _timer;
int _count = 0;
ChartSeriesController _seriesController;
final _dbReference = FirebaseDatabase.instance.reference();
List _chartData = <ChartData>[];
int _values;
@override
void dispose() {
_timer?.cancel();
super.dispose();
}
_updateData(Timer timer) {
_chartData.add(ChartData(_count,_values));
if (_chartData.length == 20) {
_chartData.removeAt(0);
_seriesController.updateDataSource(
addedDataIndexes: <int>[_chartData.length - 1],removedDataIndexes: <int>[0]);
}
_count = _count + 1;
}
@override
Widget build(BuildContext context) {
return StreamBuilder(
stream: _dbReference.child("Data").onValue,builder: (context,snapshot) {
Widget widget;
if (snapshot.hasData &&
!snapshot.hasError &&
snapshot.data.snapshot.value != null) {
_values = snapshot.data.snapshot.value["Moisture"];
if (_values != null) {
_timer = Timer.periodic(Duration(seconds: 3),_updateData(_timer));
}
widget = Container(
child: SfCartesianChart(
tooltipBehavior: TooltipBehavior(enable: true),primaryXAxis: DateTimeAxis(),series: <Lineseries<ChartData,int>>[
Lineseries<ChartData,int>(
dataSource: _chartData,xValueMapper: (ChartData data,_) => data.xAxisValue,yValueMapper: (ChartData data,_) => data.yAxisValue,)
],);
} else {
widget = Center(child: CircularProgressIndicator());
}
return widget;
},);
}
}
class ChartData {
ChartData(this.xAxisValue,this.yAxisValue);
ChartData.fromMap(this.xAxisValue,this.yAxisValue);
final int xAxisValue;
final int yAxisValue;
}
这是我的代码的问题。函数'millisecondsSinceEpoch'是什么意思?
The following NoSuchMethodError was thrown building LayoutBuilder:
Class 'int' has no instance getter 'millisecondsSinceEpoch'.
Receiver: 0
Tried calling: millisecondsSinceEpoch
谁能帮帮我?? 非常感谢您的帮助...
解决方法
我的猜测是您使用了 primaryXAxis: DateTimeAxis(),
,但您的 x/y 值都不是日期。
SfCartesianChart
尝试将 x 或 y 转换为日期(millisecondsSinceEpoch
与日期的使用相关),但它们都是 int。
看看这个(搜索DateTimeAxis
,有不同的例子):https://help.syncfusion.com/flutter/cartesian-charts/axis-customization
感谢您对我们的 Flutter 图表的关注。我们已经分析了您的查询和给定的代码,并想告诉您您将 DateTimeAxis 用于 primaryXAxis,但您的数据源值不是 DateTime 值。因此,请在图表中使用 NumericAxis 来处理数字数据。要了解有关我们图表的更多信息,请访问 help document.
谢谢, 达拉尼塔兰。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。