颤振单选按钮问题

Suh*_*s G 7 dart flutter

我只想拥有普通的单选按钮,其中只能选择组中的一个按钮。根据在线教程,我们需要将 groupvalue 变量设置为 onChanged 中 setState 方法中的值。如果我这样做,我可以选择所有按钮,我不希望这种情况发生。我希望一次只选择一个按钮(来自该组)。如果我的代码或任何其他方式有任何问题,请告诉我。

option 是标题的字符串参数 optionvalue 是该选项的值。

class Option extends StatefulWidget {
  final String option;
  final int optionvalue;

  Option(this.option, this.optionvalue);

  _OptionState createState() => _OptionState();
}

class _OptionState extends State<Option> {
  int groupvalue;
  @override
  Widget build(BuildContext context) {
    return Container(
      child: Container(
        child: RadioListTile(
          title: Text(
            widget.option,
            style: TextStyle(fontSize: 20.0),
          ),
          activeColor: Colors.black,
          value: widget.optionvalue,
          groupValue: groupvalue,
          onChanged: (int a) {
            print(a);
            setState(() {
              groupvalue = a;
            });
          },
        ),
      ),
    );
  }
}
Run Code Online (Sandbox Code Playgroud)

Cop*_*oad 19

试试这个代码

int _groupValue = -1;

@override
Widget build(BuildContext context) {
  return Column(
    children: <Widget>[
      _myRadioButton(
        title: "Checkbox 0",
        value: 0,
        onChanged: (newValue) => setState(() => _groupValue = newValue),
      ),
      _myRadioButton(
        title: "Checkbox 1",
        value: 1,
        onChanged: (newValue) => setState(() => _groupValue = newValue),
      ),
    ],
  );
}

Widget _myRadioButton({String title, int value, Function onChanged}) {
  return RadioListTile(
    value: value,
    groupValue: _groupValue,
    onChanged: onChanged,
    title: Text(title),
  );
}
Run Code Online (Sandbox Code Playgroud)

输出:

在此处输入图片说明