我是编程新手,不知道自己在做什么,但试图理解。
late CabsOfAcacia Sinan = CabsOfAcacia('Sinan', 'assets/taxi.png', cabsLocations.elementAt(0), cabsDistanceFromUser.elementAt(0));
late CabsOfAcacia Seyit = CabsOfAcacia('Seyit', 'assets/taxi.png', cabsLocations.elementAt(1), cabsDistanceFromUser.elementAt(1));
late CabsOfAcacia OsmanAga = CabsOfAcacia('Osman Aga', 'assets/taxi.png', cabsLocations.elementAt(2), cabsDistanceFromUser.elementAt(2));
late CabsOfAcacia AliKemal = CabsOfAcacia('Ali Kemal', 'assets/taxi.png', cabsLocations.elementAt(3), cabsDistanceFromUser.elementAt(3));
late CabsOfAcacia ArifKeser = CabsOfAcacia('Arif Keser', 'assets/taxi.png', cabsLocations.elementAt(4), cabsDistanceFromUser.elementAt(4));
late List<double?>cabsDistanceFromUser = [null,null,null,null,null];
///this is the class
class CabsOfAcacia{
late final String nameOfCab;
late final String assetPathOfCab;
late final LatLng locationOfCab;
late final double? distanceFromUserOfCab;
CabsOfAcacia(
this.nameOfCab,
this.assetPathOfCab,
this.locationOfCab,
this.distanceFromUserOfCab);
}
我想做的是;CabsOfAcacia 是我创建的一个类,它们有一个名为 distanceFromUserOfCab 的参数。该双精度值来自名为 cabsDistanceFromUser 的列表的第 i 个元素。在我的应用程序中执行一些步骤后,该列表中的值会更新。
但是 CabsOfAcacia 对象的 cabsDistanceFromUser 的值固定为其第一个值,即 null。我可以成功更新列表 - cabsDistanceFromUser 的值来自其中 - 但该值仍然是开头的值,再次为空。
不知道我有没有把问题表达清楚,这是我第一次在网上问问题。我感觉自己像个穴居人。
谢谢。
由于您的属性是
late final
,因此您不能期望它们的值稍后会发生变化。如果你这样定义它:您可以调用此对象的实例(例如,
Sinan
示例中的 var),并使用以下命令更改其值distanceFromUserOfCab
:但那里不涉及绑定,因此更改
cabsDistanceFromUser
列表中的值不会自动更新各个CabsOfAcacia
实例中的值。