【发布时间】:2019-10-09 09:19:31
【问题描述】:
我是 Flutter 的新手,但我遇到了 Radio 的问题。 使用“常规”方法时,我让它完美地工作:
int _groupValue=-1;
...
...
child: Align(
alignment: Alignment.center,
child: Column(
children: <Widget>[
RadioListTile(activeColor: Colors.black,
groupValue: _groupValue,
value: 1,
onChanged: (value) { setState(() {
_groupValue=value;
}); },
title: Text("a"),
),
RadioListTile(activeColor: Colors.black,
groupValue: _groupValue,
value: 2,
onChanged: (value) { setState(() {
_groupValue=value;
}); },
title: Text("b"),
),
],
),
),
由于我使用 API 中的数据来创建单选按钮,因此我已将此代码更改为:
child: Align(
alignment: Alignment.center,
child: children: radioListView
),
),
点击按钮后,我调用异步方法从 API 下载数据,如下所示:
void getApiData() async {
...
...
...
setState() {
var radioListView = List<RadioListTile>();
for (Map<String, dynamic> c in apidata)) {
radioListView.add(new RadioListTile(
groupValue: _groupValue,
value: c['option_value'],
title: c['title'],
onChanged: (value) { setState(() {
_groupValue=value;
});
),
));
}
}
}
使用第一个代码它可以工作,但是使用第二个代码我只是看到了这些项目,但是当我单击单选按钮时没有任何反应(尽管 onchanged 确实触发了,因为我试图打印该值并且很好) 我做错了什么?
【问题讨论】:
-
在不说明原因的情况下投反对票有什么意义?
标签: flutter flutter-radiobutton