Список [индекс +1] работает [индекс - 1] не работает (флаттер) - PullRequest
0 голосов
/ 22 марта 2019

У меня есть метод, чтобы перейти к следующему элементу списка, который работает нормально, но метод для отображения предыдущего элемента списка, похоже, не рендерится.

Когда я печатаю в консоль, индекс элемента списка уменьшается на 1, но текстовый виджет не обновляется, как при увеличении на 1.

Я показал 2x методы ниже и выдержку из сборки. Помогите! :)

void _skipFlashcard () {
    setState(() {
      int currentIndex = allFlashcards.indexOf(widget.flashcardToShow);
      var nextFlashcard = allFlashcards[currentIndex + 1];
      widget.flashcardToShow = nextFlashcard;
      print(widget.flashcardToShow.flashcardId);
    });
  }

  void _previousFlashcard () {
    int currentIndex = allFlashcards.indexOf(widget.flashcardToShow);
    var previousFlashcard = allFlashcards[currentIndex - 1];
    widget.flashcardToShow = previousFlashcard;
    print(widget.flashcardToShow.flashcardId);
  }

-------------------------
          Container(
            child: Row(
              children: <Widget>[
                Text(widget.flashcardToShow.flashcardId.toString()),

1 Ответ

1 голос
/ 22 марта 2019

Оберните ваш код в setState, вот и все, что пропущено: -)

void _previousFlashcard () {
  setState() {
    int currentIndex = allFlashcards.indexOf(widget.flashcardToShow);
    var previousFlashcard = allFlashcards[currentIndex - 1];
    widget.flashcardToShow = previousFlashcard;
    print(widget.flashcardToShow.flashcardId);
  }
}
...