【发布时间】:2018-10-01 02:16:12
【问题描述】:
我正在开发 Flutter 应用中的列表视图。我正在使用它的页面正在获取选项列表,这些选项可以使用 api 请求启用和禁用它们并给出 JSON 响应。我已经添加了开关,但是当我尝试打开/关闭时,它会同时打开和关闭所有选项。现在我可以设置该值,因为新修订的代码,但问题仍然是,如果该值设置为 true,那么在单击开关后它会变为 false,但它不会再次设置为 true。
开关上使用的设置值和onChanged的代码。
bool _value = false;
void _onChanged(bool value) {
print(value);
setState(() {
if(value == false) {
_value = false;
}
else {
_value = true;
}
});
}
我用来构建列表视图的正文代码
new ListView.builder(
itemCount: data == null ? 0 : data.length,
itemBuilder: (BuildContext context,int index) {
if(data[index]['status'] == '0') {
_value = false;
}
else {
_value = true;
}
return new Container(
child: new Center(
child: new Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: <Widget>[
new Card(
child: new Container(
child: new Row(
children: [
new Expanded(
child: new Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: <Widget>[
new Container(
child: new Text(data[index]['property']),
),
],
),
),
new Switch(
value: _value,
onChanged: (bool value) {
_onChanged(value);
}),
],
),
padding: const EdgeInsets.all(20.0),
),
),
],
),
),
);
},
);
【问题讨论】:
-
您应该添加一些您尝试过的代码并明确说明问题
-
@Rene 我添加了修改后的代码以获取视图中的开关列表。
标签: flutter