flutter - Flutter 字段“replyMessage”尚未初始化
问题描述
我有回复类,当用户尝试回复消息时,它将填充数据,而不是它只是空对象。现在它给了我以下错误:
Unhandled Exception: LateInitializationError: Field 'replyMessage' has not been initialized.
Code
late ReplyMessage replyMessage;
@override
void initState() {
super.initState();
}
replyMessage
然后,当用户单击这样的发送按钮时,我会检查这一点(错误行已注释):
IconButton(
onPressed: () {
setState(() {
_textEditingController.text.isEmpty ? _validate = true : _validate = false;
Future.delayed(Duration(milliseconds: 1000), () {
setState(() {
_validate = false;
if(replyMessage.id != null) { // <-- error comes from this line
sendMessage(userToken, _textEditingController.text, args.id, replyMessage.id);
}
else {
sendMessage(userToken, _textEditingController.text, args.id, null);
}
});
});
});
},
icon: Icon(Icons.send),
color: btnColor,
),
另外在这里我们我的课程代码:
class ReplyMessage {
int? id;
String? message;
String? userName;
ReplyMessage({
required this.id,
required this.message,
required this.userName
});
}
解决方案
如果你定义你的字段比你必须在 init 方法中初始化它或直接赋值
late ReplyMessage replyMessage;
@override
void initState() {
replyMessage = Assign some value here
super.initState();
}
推荐阅读
- python - 如何使用 H2o 库获取 GBM 模型上的数据
- flutter - 在 Flutter DropdownButtonFormField 中获取多个值
- c++ - 为什么 fftw 在 vscode 中总是未定义的引用?
- docker - Docker - 无论框架如何设置多个项目(在 php 上)
- c# - Shaded pictures on focused item in collection view
- python - 最多 X 个值的平均值,然后与最后一个值取平均值?
- c# - linq: from object in an object to just an object
- javascript - 如何使用 Chart.js 创建这样的条形图?
- c# - 更新 CollectionView
- javascript - 如何使用 rxjs 从 json 对象中过滤属性?