Флаттер / дротик: как вернуть список из метода и установить его в другой список - PullRequest
0 голосов
/ 27 апреля 2020

Проблема: как извлечь из списка и добавить в новый список, сохраненный локально, для использования в методах того же класса.

Я хотел бы сохранить то, что находится в exercList, и поместить его в локальный Переменная List CustomExercises; Когда я возвращаю пользовательские упражнения из getAllExercisesAsStrings (), он не обновляется.

class GenerateCustom extends ExerciseListState {
  int rnd;

  GenerateCustom({this.difficulty});
  final int difficulty;
  String workout;
  String ex1;
  String ex2;
  String ex3;
  String ex4;
  String ex5;

  List customExercises = [];

  //get list of custom workouts
  List getAllExercisesAsStrings(customExercises) {
    var n;
    for (n = 0; n < exerciseList.length; n++) {
//      print(exerciseList[n].title);
      customExercises.add(exerciseList[n].title);
    }
    return customExercises;
  }

Для контекста getCustomType () получает случайное упражнение из списка для отображения.

String getCustomType() {
    var random = Random();
    var i = random.nextInt(customExercises.length);
    print(customExercises[i]);
    return customExercises[i];
  }

  String cExerciseOne() {
    if (difficulty == 1) {
      workout =
          ('1: ' + getCustomType() + ' ' + getRepsEasy() + 'x' + getSetsEasy());
    } else if (difficulty == 2) {
      workout = ('1: ' +
          getCustomType() +
          ' ' +
          getRepsMedium() +
          'x' +
          getSetsMedium());
    } else {
      workout =
          ('1: ' + getCustomType() + ' ' + getRepsHard() + 'x' + getSetsHard());
    }
    return workout;
  }

Когда я печатаю на консоль exerciseList[n].title, он возвращает список с упражнениями, например, ['exercise1','Bicep Curl', 'Pull Up', ] et c. Эти упражнения уже были найдены в родительском классе, и я хотел бы сохранить их в новом списке. Любое руководство было бы замечательно, и если вы считаете, что нужно больше контекста, дайте мне знать.

...