flutter Как отредактировать индекс в просмотре страниц в другом виджете и автоматически изменить основной индекс?

#flutter #flutter-layout #flutter-dependencies

Вопрос:

Как я могу изменить PageView индекс в другом виджете, применяя его на главной странице?

 PageView.builder(
        reverse: true,
        itemBuilder: (BuildContext ctx, int position) {
          return PageViewWidget(
            displayZekr: _displayZekr,
            position: position,
          );
        },
        controller: s,
        itemCount: _displayZekr.length,
      ),
 

Комментарии:

1. Вам нужно лучше объяснить свой вопрос. Вы можете отформатировать свой код с тремя значками в начале и конце: «dart «

Ответ №1:

Вы должны сделать 5 шагов:

  1. сделайте свой виджет Stateful Widget таким, чтобы вы могли изменять его состояние (в вашем примере индекса страницы).
  2. создайте глобальный int для индекса страницы : int pageIdx = 1;
  3. создайте функцию для изменения индекса страницы:
 void changePageIndex(){
   setState((){pageIndex  ;});
}
 
  1. вызывайте эту функцию везде, где хотите
  2. используйте глобальный индекс в качестве активной страницы!