我正在尝试将一个Checkbox(或CheckboxListTile)添加到AlertDialog的内容中。该复选框显示正确的初始值,但点击复选框不会选中/取消选中它。
这是我的(简化)代码:
class MyState extends State<MyStatefulWidget> {
bool checked = true;
_MyState() {
_showDialog();
}
Future<Null> _showDialog() async {
return showDialog(
context: context,
child: new AlertDialog(
content: new Checkbox(
value: checked,
onChanged: (bool value) {
setState(() {
checked = value;
});
},
),
actions: <Widget>[
new FlatButton(
onPressed: () {
Navigator.of(context).pop(checked);
},
child: new Text('OK')
)
],
);
}
}
当我将Checkbox直接添加到主布局但不在AlertDialog内部时,它可以正常工作。这里发生了什么?怎么解决这个问题?