我想在flutter中创建一个包含变量的列表。现在,当我尝试编辑列表的内容时,它实际上存储在列表本身中。例如,
static var _ratingSelected = "";
static var _disconnectSelected = "";
static var _uTypeSelected = "";
List finalSelectedList = [_uTypeSelected,_disconnectSelected,_ratingSelected];
这是我的列表,当我编辑列表时,例如,
finalSelectedList[0] = "Main";
输出列表将类似于
finalSelectedList = ["Main",_disconnectSelected,_ratingSelected];
它将编辑列表的finalSelectedList [0]位置,但不编辑变量 _uTypeSelected 。 有什么办法可以将值存储在变量 _uTypeSelected 中,而不是在位置 finalSelectedList [0] 中?
答案 0 :(得分:1)
没有办法做到。如果您使用finalSelectedList[0].someProp = "Main";
,其中变量是具有someProp
属性的某些类的实例,则它将起作用,因为存在附加的抽象。字符串是原始值,在添加到列表时按值复制,因此列表条目和变量之间没有连接。
class Foo {
Foo(this.someProp);
String someProp;
}
static var _ratingSelected = Foo("");
static var _disconnectSelected = Foo("");
static var _uTypeSelected = Foo("");
List finalSelectedList = [_uTypeSelected,_disconnectSelected,_ratingSelected];
finalSelectedList[0].someProp = "Main";