错误 Dart/Flutter: 'context != null': 不正确
Posted
技术标签:
【中文标题】错误 Dart/Flutter: \'context != null\': 不正确【英文标题】:Error Dart/Flutter: 'context != null': is not true错误 Dart/Flutter: 'context != null': 不正确 【发布时间】:2020-01-06 17:44:06 【问题描述】:我尝试在每次重复项目时应用对话框警报,但是当我进行测试时它最终给出了这个错误,有没有人有任何关于如何解决这个问题的提示?
void SalvarMensagem() async
// select id_armarios from armarios where numero_serie = '$_numeroSerie'
this._status = _status;
_numeroSerie = _status.substring(48, 80);
final QuerySnapshot result = await Future.value(Firestore.instance
.collection("lockers")
.where("numero_serie", isEqualTo: "$_numeroSerie")
.limit(1)
.getDocuments());
final List<DocumentSnapshot> documents = result.documents;
if (documents.length == 1)
duplicado(context);
else
await Firestore.instance
.collection("lockers")
.document()
.setData("numero_serie": _numeroSerie);
duplicado(BuildContext context)
Alert(
context: context,
type: AlertType.error,
title: "QR Code já cadastrado",
buttons: [
DialogButton(
child: Text(
"OK",
style: TextStyle(color: Colors.white, fontSize: 20),
),
onPressed: () => Navigator.pop(context),
color: Colors.lightBlueAccent,
width: 120,
)
],
).show();
错误:
E/flutter ( 9129): [ERROR:flutter/lib/ui/ui_dart_state.cc(148)] Unhandled Exception: 'package:flutter/src/widgets/localizations.dart': Failed assertion: line 446 pos 12: 'context != null': is not true.
【问题讨论】:
446是哪一行? 这个Alert
小部件来自哪里?使用showDialog(context:, builder:)
不起作用?
我正在使用该功能(重复),但从来没有工作
【参考方案1】:
duplicate(context, title, content)
showDialog(
context: context,
builder: (BuildContext context)
return AlertDialog(
title: new Text(
title,
),
content: Padding(
padding: const EdgeInsets.all(8.0),
child: new Text(
content,
),
),
actions: <Widget>[
new FlatButton(
child: new Text(
"OK",
style: TextStyle(color: Colors.white),
),
onPressed: ()
Navigator.of(context).pop();
,
color: Colors.lightBlueAccent,
),
],
);
,
);
更改您的警报功能并使用duplicate(context,"QR Code já cadastrado","The content you wanted or delete it")
调用它应该没问题。您可以通过函数参数更改标题和内容。
【讨论】:
您可以尝试使用Future<void> SalvarMensagem() async
代替这个void SalvarMensagem() async
吗?以上是关于错误 Dart/Flutter: 'context != null': 不正确的主要内容,如果未能解决你的问题,请参考以下文章
flutter - 如何在 dart/flutter 中收听流值
如何在 Dart/Flutter 中读取本地图像文件的字节数?