(Дротик / флаттер) Создание диаграммы для статистики в приложении викторины с использованием charts_flutter - PullRequest
0 голосов
/ 10 июля 2019

Я все еще новичок в трепетании и дротике.Я хочу добавить статистику в расширяемый список, который может прочитать 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'"

Я понимаю, что тип неправильный, но я не знаю, как это исправить.Я думал, что это будет работать, но, видимо, нет, как мне это исправить?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...