Flutter 颤振:在启动时显示对话框
我现在已经很熟悉弗利特了,但我不能对这件事耿耿于怀 我想在Flutter 颤振:在启动时显示对话框,flutter,Flutter,我现在已经很熟悉弗利特了,但我不能对这件事耿耿于怀 我想在State类中第一次启动时显示一个对话框,其中T是一个有状态的小部件。该对话框包含一些有关如何使用该应用程序的简短说明。但是在build方法中执行此逻辑会抛出错误,在initState方法中也是如此 那么,我可以在哪里(或者更确切地说在什么时候)调用以下逻辑 if(someCondition) showDialog(...); 没有得到以下错误 生成FutureBuilder时抛出了以下断言(状态:_FutureBuilderSt
State
类中第一次启动时显示一个对话框,其中T
是一个有状态的小部件。该对话框包含一些有关如何使用该应用程序的简短说明。但是在build
方法中执行此逻辑会抛出错误,在initState
方法中也是如此
那么,我可以在哪里(或者更确切地说在什么时候)调用以下逻辑
if(someCondition)
showDialog(...);
没有得到以下错误
生成FutureBuilder时抛出了以下断言(状态:_FutureBuilderState#66844):
在生成过程中调用setState()或markNeedsBuild()
无法将此覆盖小部件标记为需要生成,因为
框架已经在构建小部件的过程中。小部件可以
仅当以下情况之一发生时,才标记为需要在构建阶段构建
它的祖先目前正在建造。此异常是允许的,因为
该框架在子部件之前构建父部件,这意味着
肮脏的后代将永远被建造。否则,该框架可能会失败
在此构建阶段不访问此小部件。其上的小部件
调用的setState()或markNeedsBuild()为:
叠加-[LabeledGlobalKey#27d99]状态:
OverlyState#4aeab(条目:[OverlyEntry#3c67c(不透明:真;
maintainState:false),OverlyEntry#564f9(不透明:false;
维护状态:true),覆盖入口#7b46b(不透明:false;维护状态:
false),OverlayEntry#81c9d(不透明:false;维护状态:true)])的
当前正在生成的小部件,当出现问题的调用时
制造地点:FutureBuilderState:_FutureBuilderState#66844
在尝试显示对话框之前,请确保您的小部件已完全构建
@override
void initState() {
super.initState();
WidgetsBinding.instance.addPostFrameCallback((_) {
showDialog(
// ...
);
});
}
谢谢。关于这个框架还有一些我不知道的地方。