Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Flutter 为什么tabbar widget Navigator.pop(上下文)返回黑屏?_Flutter_Flutter Navigation - Fatal编程技术网

Flutter 为什么tabbar widget Navigator.pop(上下文)返回黑屏?

Flutter 为什么tabbar widget Navigator.pop(上下文)返回黑屏?,flutter,flutter-navigation,Flutter,Flutter Navigation,我正在使用DefaultTabbarWidget和Alert包。警报包有一个默认的取消按钮。“取消”按钮有Navigator.pop(上下文)方法,所以我正在将当前页面选项卡栏和pop方法转到黑屏 我想弹出不支持任何页面的方法。 如何使用选项卡栏和导航器设计。(选项卡页面设置默认页面) 我正在尝试这个代码,但不知道我想要什么 void main()=>runApp(App()); 类应用程序扩展了无状态小部件{ @凌驾 小部件构建(构建上下文){ 返回材料PP( 主题:ThemeData.lig

我正在使用DefaultTabbarWidget和Alert包。警报包有一个默认的取消按钮。“取消”按钮有Navigator.pop(上下文)方法,所以我正在将当前页面选项卡栏和pop方法转到黑屏

我想弹出不支持任何页面的方法。 如何使用选项卡栏和导航器设计。(选项卡页面设置默认页面)

我正在尝试这个代码,但不知道我想要什么

void main()=>runApp(App());
类应用程序扩展了无状态小部件{
@凌驾
小部件构建(构建上下文){
返回材料PP(
主题:ThemeData.light(),
初始路径:“/”,
路线:{
“/tab”:(上下文)=>DefaultTabbar(),
“/translate”:(上下文)=>TranslateScreen(),
“/profile”:(上下文)=>ProfileScreen(),
},
debugShowCheckedModeBanner:false,
);
}
}
类_TranslateScreenState扩展状态{
_buildShowDialog(BuildContext上下文){
Navigator.pop(上下文);
//如警报取消代码
//警觉的(
//上下文:上下文,
//标题:“Türkçe”,
//类型:AlertType.none,
//按钮:DialoB,
//内容:WordConvertStream(
//单词:这个。_数据,
//key:key(“DialogWord”),
//   ),
//)。show();
}
}
我想关闭.pop()警报对话框,但不关闭警报


您需要BuildContext才能将导航推送到导航器堆栈

void _buildShowDialog() {
 showDialog(
   context: context,
   builder: (BuildContext context) {
     return AlertDialog(
       title: new Text("foo"),
       content: new Text("bar"),
       actions: <Widget>[
         new FlatButton(
           child: new Text("Close"),
           onPressed: () {
             Navigator.of(context).pop();
           },
         ),
       ],
     );
   },
 );
}
void\u buildShowDialog(){
显示对话框(
上下文:上下文,
生成器:(BuildContext上下文){
返回警报对话框(
标题:新文本(“foo”),
内容:新文本(“栏”),
行动:[
新扁平按钮(
子项:新文本(“关闭”),
已按下:(){
Navigator.of(context.pop();
},
),
],
);
},
);
}

您需要BuildContext才能将导航推送到导航器堆栈

void _buildShowDialog() {
 showDialog(
   context: context,
   builder: (BuildContext context) {
     return AlertDialog(
       title: new Text("foo"),
       content: new Text("bar"),
       actions: <Widget>[
         new FlatButton(
           child: new Text("Close"),
           onPressed: () {
             Navigator.of(context).pop();
           },
         ),
       ],
     );
   },
 );
}
void\u buildShowDialog(){
显示对话框(
上下文:上下文,
生成器:(BuildContext上下文){
返回警报对话框(
标题:新文本(“foo”),
内容:新文本(“栏”),
行动:[
新扁平按钮(
子项:新文本(“关闭”),
已按下:(){
Navigator.of(context.pop();
},
),
],
);
},
);
}

您发布的两张图像都有一个黑屏。那么你只是想关闭警报吗?@Hosar yep。我只想关闭不弹出的页面。我不明白你想做什么,我不知道你在哪里触发警报对话框。但是如果您只想关闭它,请添加属性cancelable:true,这将显示一个cancel按钮。您不需要指定导航器。pop@Hosar看看ss。警报库默认取消按钮,并具有navigator.pop方法或在右上角具有“X”图标。即使不是,为什么tab page Navigator.pop返回黑屏?也许我在其他问题中的回答解决了您的问题。你发布的两张图片都有一个黑屏。那么你只是想关闭警报吗?@Hosar yep。我只想关闭不弹出的页面。我不明白你想做什么,我不知道你在哪里触发警报对话框。但是如果您只想关闭它,请添加属性cancelable:true,这将显示一个cancel按钮。您不需要指定导航器。pop@Hosar看看ss。警报库默认取消按钮,并具有navigator.pop方法或在右上角具有“X”图标。即使不是,为什么tab page Navigator.pop返回黑屏?也许我在其他问题中的回答解决了您的问题。