当我按下 Radio 时,我想执行一些代码。GestureDetector 在任何地方都有效,但不是在这里。如果你运行下面的代码,你会在点击 Text 时得到响应(打印),但在点击 Radio 时不会(两者都包含在同一个 GestureDetector 中)。
您有什么建议,如何克服这个问题(或解释为什么会发生这种情况)?
class _MyHomePageState extends State<MyHomePage> {
int radioGroupValue = 0;
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text(widget.title),
),
body: Center(
child: GestureDetector(
onTap: () => print("GestureDetector has been tapped."),
child: new Row(children: [
new Radio(
value: 0,
groupValue: radioGroupValue,
onChanged: _handleRadioValueWkotType,
),
new Text("label 1"),
new Radio(
value: 1,
groupValue: radioGroupValue,
onChanged: _handleRadioValueWkotType,
),
new Text("label 2"),
])),
));
}
void _handleRadioValueWkotType(int value) {
setState(() {
radioGroupValue = value;
});
}
}