![](/img/trans.png)
[英]Why can't I call my changecolor function inside a class?
[英]Why can't I call these calculations into my build, when I'm already doing it for another function
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 中的值传递到我的小部件构建中?
在 initState 中声明您的_onCameraMove()
可以工作,如下所示:
@override
void initState() {
super.initState();
_onCameraMove();
}
并确保你的类Statefull
并在build method
之前调用initState
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.