Я все еще новичок в трепетании и дротике.Я хочу добавить статистику в расширяемый список, который может прочитать charts_flutter, но я не понимаю, что не так с моим кодом и как его исправить.
Я использовал charts_flutter 0.6.0: https://pub.dev/packages/charts_flutter#
Когда экран вопросов закрывается, я хочу добавить правильные ответы и количество попыток в список для статистики, чтобы charts_flutter мог сгенерировать диаграмму с информацией.Но есть проблема типа, когда я пытаюсь это сделать.Я не понимаю, как решить эту проблему.Я получаю проблему в "@override void dispose ()"
//in question_screen.dart
// score variables
int easyTries = 0;
int tempScore = 0;
int totalQuestionsAnswered = 0;
int percentTotal;
@override
void dispose() {
super.dispose();
percentTotal = (tempScore / totalQuestionsAnswered * 100).round();
print(percentTotal);
if (selectedDifficulty == Difficulty.easy &&
StatWidget.easyData().length == 1) {
StatWidget.easyData().removeAt(0);
StatWidget.easyData().add(LinearImprovement(easyTries, percentTotal));
}
}
//in stat_widget.dart
import 'package:charts_flutter/flutter.dart' as charts;
import 'package:flutter/material.dart';
class StatWidget extends StatelessWidget {
final List<charts.Series> seriesList;
final bool animate;
StatWidget(this.seriesList, {this.animate});
factory StatWidget.withSampleData() {
return new StatWidget(
easyData(),
// Disable animations for image tests.
animate: false,
);
}
@override
Widget build(BuildContext context) {
return new charts.LineChart(
seriesList,
animate: animate,
primaryMeasureAxis: new charts.NumericAxisSpec(
viewport: new charts.NumericExtents(0.0, 100.0),
),
domainAxis: new charts.NumericAxisSpec(
viewport: new charts.NumericExtents(0.0, 30.0),
),
);
}
static List<charts.Series<LinearImprovement, int>> easyData() {
final data = [
new LinearImprovement(0, 0),
];
return [
new charts.Series<LinearImprovement, int>(
id: 'Points over time',
colorFn: (_, __) => charts.MaterialPalette.pink.shadeDefault,
domainFn: (LinearImprovement improvementTries, _) =>
improvementTries.tries,
measureFn: (LinearImprovement improvementPercent, _) =>
improvementPercent.percent,
data: data,
)
];
}
}
class LinearImprovement {
final int tries;
final int percent;
LinearImprovement(this.tries, this.percent);
}
Я получаю сообщение об ошибке: «Тип аргумента 'LinearImprovment' нельзя назначить типу параметра 'Series'"
Я понимаю, что тип неправильный, но я не знаю, как это исправить.Я думал, что это будет работать, но, видимо, нет, как мне это исправить?