在Flutter中显示提供程序通知对话框

mklgxw1f  于 2023-05-08  发布在  Flutter
关注(0)|答案(1)|浏览(124)

我想在提供程序通知状态更改时显示一个对话框。但是,我得到了下面显示的错误。在提供商通知时实现这种行为的最佳方法是什么?

@override
  Widget build(BuildContext context) {
    return Consumer<GameModel>(
      builder: (context, gameModel, child) {
        if (gameModel.gameOver) {
         _onGameOverDialog(gameModel);
        }
       
        return WillPopScope(
....

当我这样做的时候我得到这个错误
无法将此Overlay小部件标记为需要构建,因为框架已经在构建小部件的过程中。

hfsqlsce

hfsqlsce1#

当应用程序仍在构建小部件时,您无法显示对话框,请尝试添加此“WidgetsBinding”,以等待小部件完全构建并显示对话框。

if(gameModel.gameOver) {
        WidgetsBinding.instance.addPostFrameCallback((_) {
          _onGameOverDialog(context, gameModel);
        });
      }

相关问题