Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/dart/3.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 从画廊/相机取消图像选择器时出现Image.path错误_Flutter_Dart_Flutter Layout_Flutter Image - Fatal编程技术网

Flutter 从画廊/相机取消图像选择器时出现Image.path错误

Flutter 从画廊/相机取消图像选择器时出现Image.path错误,flutter,dart,flutter-layout,flutter-image,Flutter,Dart,Flutter Layout,Flutter Image,我有一个功能,可以使用Gallery或Camera选项编辑图像。 我不知道如何处理当用户按下后退按钮,而试图从画廊选择切换到相机 然后,调试器显示错误“Image.path在Null上被调用” 解决方案 对于那些将经历此错误的人。在多媒体资料或照相机上轻按。 只需使用if(imageFile!=null)即可避免应用程序崩溃。您可以使用WillPopScope包装您的脚手架 return WillPopScope( onWillPop: () => _exitApp(co

我有一个功能,可以使用Gallery或Camera选项编辑图像。 我不知道如何处理当用户按下后退按钮,而试图从画廊选择切换到相机

然后,调试器显示错误“Image.path在Null上被调用”

解决方案

对于那些将经历此错误的人。在多媒体资料或照相机上轻按。
只需使用
if(imageFile!=null)
即可避免应用程序崩溃。

您可以使用WillPopScope包装您的脚手架

return  WillPopScope(
        onWillPop: () => _exitApp(context),
        child:  Scaffold(
            appBar:  AppBar(
              title:  Text("Navigation Demo"),
              backgroundColor: Colors.deepOrangeAccent,
            ),
并询问用户是否要退出此应用程序或当前页面

Future<bool> _exitApp(BuildContext context) {
  return showDialog(
        context: context,
        child: new AlertDialog(
          title: new Text('Do you want to exit this application?'),
          content: new Text('We hate to see you leave...'),
          actions: <Widget>[
            new FlatButton(
              onPressed: () => Navigator.of(context).pop(false),
              child: new Text('No'),
            ),
            new FlatButton(
              onPressed: () => Navigator.of(context).pop(true),
              child: new Text('Yes'),
            ),
          ],
        ),
      ) ??
      false;
}
Future\u exitApp(构建上下文){
返回显示对话框(
上下文:上下文,
子:新建警报对话框(
标题:新文本('是否要退出此应用程序?'),
内容:新文本('我们讨厌看到你离开…'),
行动:[
新扁平按钮(
onPressed:()=>Navigator.of(context.pop)(false),
子项:新文本(“否”),
),
新扁平按钮(
onPressed:()=>Navigator.of(context.pop)(true),
子项:新文本(“是”),
),
],
),
) ??
虚假的;
}

详细信息参考

您可以使用Willposcope包裹脚手架

return  WillPopScope(
        onWillPop: () => _exitApp(context),
        child:  Scaffold(
            appBar:  AppBar(
              title:  Text("Navigation Demo"),
              backgroundColor: Colors.deepOrangeAccent,
            ),
并询问用户是否要退出此应用程序或当前页面

Future<bool> _exitApp(BuildContext context) {
  return showDialog(
        context: context,
        child: new AlertDialog(
          title: new Text('Do you want to exit this application?'),
          content: new Text('We hate to see you leave...'),
          actions: <Widget>[
            new FlatButton(
              onPressed: () => Navigator.of(context).pop(false),
              child: new Text('No'),
            ),
            new FlatButton(
              onPressed: () => Navigator.of(context).pop(true),
              child: new Text('Yes'),
            ),
          ],
        ),
      ) ??
      false;
}
Future\u exitApp(构建上下文){
返回显示对话框(
上下文:上下文,
子:新建警报对话框(
标题:新文本('是否要退出此应用程序?'),
内容:新文本('我们讨厌看到你离开…'),
行动:[
新扁平按钮(
onPressed:()=>Navigator.of(context.pop)(false),
子项:新文本(“否”),
),
新扁平按钮(
onPressed:()=>Navigator.of(context.pop)(true),
子项:新文本(“是”),
),
],
),
) ??
虚假的;
}

详细信息参考

请向我们展示您的脚本请向我们展示您的脚本