如何在 Flutter 中获取单选按钮的值

How to get Radio button value in Flutter

我在 flutter 应用程序中使用以下代码进行性别选择。在这里,这工作正常,但我无法检索文本格式的性别值。我应该怎么做?

final gender = Padding(
      padding: EdgeInsets.only(top: 0.0),
      child: Row(
        children: <Widget>[
          Radio(
            value: 0,
            groupValue: _genderRadioBtnVal,
            onChanged: _handleGenderChange,
          ),
          Text("Male"),
          Radio(
            value: 1,
            groupValue: _genderRadioBtnVal,
            onChanged: _handleGenderChange,
          ),
          Text("Female"),
          Radio(
            value: 2,
            groupValue: _genderRadioBtnVal,
            onChanged: _handleGenderChange,
          ),
          Text("Other"),
        ],
      ),
    );

void _handleGenderChange(int value) {
    setState(() {
      _genderRadioBtnVal = value;
    });
  }

因为您使用的值是 0、1、2,所以您在 onChanged.If 中得到它,您需要像 "Male"、"Female" 和 "other" 这样的字符串值,您可以把你的值改成String类型,给它们适当的值。

Row(
    children: <Widget>[
      Radio<String>(
        value: "Male",
        groupValue: _genderRadioBtnVal,
        onChanged: _handleGenderChange,
      ),
      Text("Male"),
      Radio<String>(
        value: "Female",
        groupValue: _genderRadioBtnVal,
        onChanged: _handleGenderChange,
      ),
      Text("Female"),
      Radio<String>(
        value: "Other",
        groupValue: _genderRadioBtnVal,
        onChanged: _handleGenderChange,
      ),
      Text("Other"),
    ],
  );

void _handleGenderChange(String value) {
  setState(() {
    _genderRadioBtnVal = value;
  });
}

希望对您有所帮助!