Как исправить, чтобы несколько виджетов использовали один и тот же GlobalKey? - PullRequest
0 голосов
/ 30 декабря 2018

Я использую нижнюю панель навигации, а внутри я использую панель вкладок.Но у панели вкладок есть поведение обмена.Я хочу отключить поведение подкачки.Итак, я использовал NeverScrollableScrollPhysics Но это показывает ошибку.Ошибка Multiple widgets used the same GlobalKey.Я дал разные ключи для каждого элемента панели вкладок, но возникает та же проблема.Вот мой код:

Widget build(BuildContext context) {
return new Scaffold(
  key: _homeScaffoldKey,
  body: new TabBarView(
    physics: NeverScrollableScrollPhysics(),
    children: <Widget>[
      new page1(),
      new page2(),
      new page3(),
      new page4(),
    ],
    controller: tabController,
  ),

  bottomNavigationBar: new Material(
    color: Colors.blue,
    child: new TabBar(
      isScrollable: true,
      indicatorColor: Color.fromRGBO(255, 25, 255, 0.0),
      controller: tabController,
      tabs: <Widget>[
        new Tab(
          icon: new Icon(Icons.accessibility),
        ),
        new Tab(
          icon: new Icon(Icons.accessibility),
        ),
        new Tab(
          icon: new Icon(Icons.accessibility),
        ),
        new Tab(
          new Icon(Icons.accessibility),
        ),
      ],
    ),
  ),

);
}

Вот ошибка:

I/flutter (26947): Another exception was thrown: NoSuchMethodError: The method 'dispose' was called on null.
I/flutter (26947): Another exception was thrown: Multiple widgets used the same GlobalKey.
I/flutter (26947): Another exception was thrown: Multiple widgets used the same GlobalKey.
I/flutter (26947): Another exception was thrown: NoSuchMethodError: The method 'dispose' was called on null.
...