Flutter 颤振中GlobalKey的当前状态为空

Flutter 颤振中GlobalKey的当前状态为空,flutter,Flutter,在下面的代码中,包含三个具有以下结构的小部件:ShowEventPage->ChildWidget->eventUserList。我想在选择菜单项时调用ShowEventPage中的EventUserList方法。因此,我使用GlobalKey。但是调用方法select会返回未处理的异常:NoSuchMethodError:方法“showUserListDialog”在null上被调用。。如果我将键传递给EventUserLists(键:gUserListsKey),则没有任何区别 显示事件页面

在下面的代码中,包含三个具有以下结构的小部件:
ShowEventPage->ChildWidget->eventUserList
。我想在选择菜单项时调用ShowEventPage中的EventUserList方法。因此,我使用GlobalKey。但是调用方法
select
会返回
未处理的异常:NoSuchMethodError:方法“showUserListDialog”在null上被调用。
。如果我将键传递给
EventUserLists(键:gUserListsKey)
,则没有任何区别

显示事件页面。dart:

GlobalKey<EventUserListsState> gUserListsKey = GlobalKey<EventUserListsState>();

class ShowEventPage extends StatefulWidget {
  @override
  ShowEventPageState createState() => ShowEventPageState();
}

class ShowEventPageState extends State<ShowEventPage> {
...
  select(Choice choice, BuildContext context) async {
    switch (choice.title) {
      case 'Attending':
        gUserListsKey.currentState.showUserListDialog('attending');
        break;
    }
  }
...

@override
  Widget build(BuildContext context) {
    return AppScaffold(
        actions: <Widget>[
          PopupMenuButton<Choice>(
            onSelected: (Choice choice) {
              select(choice, context);
            },
            itemBuilder: ...
            },
          )
        ]
 body: ChildWidget()
}
class ChildWidget extends StatefulWidget {
  @override
  _ChildWidgetState createState() => _ChildWidgetState();
}

class _ChildWidgetState extends State<ChildWidget> {
  @override
  Widget build(BuildContext context) {
    return EventUserLists ();
  }
}
class EventUserLists extends StatefulWidget {
  EventUserLists(
      {Key key})
      : super(key: key);
  final Key key = gUserListsKey;

  @override
  EventUserListsState createState() => EventUserListsState();
}
...