flutter - 为什么我不能将这些计算调用到我的构建中,而我已经在为另一个函数做这些计算
问题描述
var _distancebetween 在这里引起了问题。我不知道如何在我的小部件构建中调用它:
void _onCameraMove(CameraPosition cameraPosition) async {
var _distancebetween = await Geolocator().distanceBetween(
lat, lng, _lastMapPosition.latitude, _lastMapPosition.longitude);
_lastMapPosition = cameraPosition.target;
var latlnglastPosition = _lastMapPosition.toString;
setState(() {
latlnglastPosition;
_distancebetween;
_lastMapPosition;
});
}
当我为 _latlnglastPosition 和 _lastMapPosition 设置状态时,我在构建中调用它们,如下所示:
@override
Widget build(BuildContext context) {
var latlnglastPosition = _lastMapPosition.toString();
我可以轻松地在 Ink Response 字段中显示文本。
为什么这不适用于 _distancebetweenFinal?
在我的构建中:
var _distancebetweenFinal = _distancebetween.toString();
print(_distancebetweenFinal);
print(_distancebetween);
这会打印零……但如果从我的 void _onCameraMove 打印,它会打印正确的值。如何将 _onCameraMove 中的值传递到我的小部件构建中?
解决方案
声明你_onCameraMove()
的 initState 可以工作,像这样:
@override
void initState() {
super.initState();
_onCameraMove();
}
并确保你先上课Statefull
并打电话initState
build method
推荐阅读
- c# - 从回调调用时,ASP.NET Core SignalR Clients 对象处理异常
- vba - 如果存在则使用 tab1,否则使用 tab2
- javascript - 404 错误快速路由
- php - Laravel:有效地求和嵌套关系(渴望加载)
- python - Python 3.5 JSON 序列化 Decimal 对象
- javascript - 如何使用打字稿向对象添加属性?
- angular - npm build 仍在为生产运行
- dart - Flutter Firestore 使 runTransaction 在设备上瞬间完成
- r - In R, group by sports data that has Away and Home teams - a common frustration
- python - Tkinter 在使用多个文件销毁窗口后继续执行