how to add a validator to a Radio button in flutter code example

Example 1: FormBuilderRadioGroup sample code for radio button flutter

import 'package:flutter/material.dart';
 
void main() => runApp(MyApp());
 
class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      home: Scaffold(
        appBar: AppBar(
        title: Text("Flutter Radio Button Group Example"),
        ),
        body: SafeArea(
          child : Center(
 
          child:RadioGroup(),
 
          )
        )
      ),
    );
  }
}
 
class RadioGroup extends StatefulWidget {
  @override
  RadioGroupWidget createState() => RadioGroupWidget();
}
 
class FruitsList {
  String name;
  int index;
  FruitsList({this.name, this.index});
}
 
class RadioGroupWidget extends State {
 
  // Default Radio Button Item
  String radioItem = 'Mango';
 
  // Group Value for Radio Button.
  int id = 1;
 
  List<FruitsList> fList = [
    FruitsList(
      index: 1,
      name: "Mango",
    ),
    FruitsList(
      index: 2,
      name: "Apple",
    ),
    FruitsList(
      index: 3,
      name: "Banana",
    ),
    FruitsList(
      index: 4,
      name: "Cherry",
    ),
  ];
 
  Widget build(BuildContext context) {
    return Column(
        children: <Widget>[
           Padding(
            padding : EdgeInsets.all(14.0),
            child: Text('$radioItem', style: TextStyle(fontSize: 23))
              ),
 
           Expanded(
            child: Container(
            height: 350.0,
            child: Column(
              children: 
                fList.map((data) => RadioListTile(
                  title: Text("${data.name}"),
                  groupValue: id,
                  value: data.index,
                  onChanged: (val) {
                    setState(() {
                      radioItem = data.name ;
                      id = data.index;
                    });
                  },
                )).toList(),
            ),
          )),
          
        ],
    );
  }
}

Example 2: flutter radio button

@overrideWidget build(BuildContext context) {  return new MaterialApp(      home: new Scaffold(          appBar: AppBar(            title: new Text('Kids Quiz App'),            centerTitle: true,            backgroundColor: Colors.blue,          ),          body: new Container(              padding: EdgeInsets.all(8.0),              child: new Column(                  mainAxisAlignment: MainAxisAlignment.center,                  children: <Widget>[                    new Text(                      'Select correct answers from below:',                      style: new TextStyle(                          fontSize: 20.0, fontWeight: FontWeight.bold),                    ),                    new Padding(                      padding: new EdgeInsets.all(8.0),                    ),                    new Divider(height: 5.0, color: Colors.black),                    new Padding(                      padding: new EdgeInsets.all(8.0),                    ),                    new Text(                      'Lion is :',                      style: new TextStyle(                        fontWeight: FontWeight.bold,                        fontSize: 18.0,                      ),                    ),                    new Row(                      mainAxisAlignment: MainAxisAlignment.center,                      children: <Widget>[                        new Radio(                          value: 0,                          groupValue: _radioValue1,                          onChanged: _handleRadioValueChange1,                        ),                        new Text(                          'Carnivore',                          style: new TextStyle(fontSize: 16.0),                        ),                        new Radio(                          value: 1,                          groupValue: _radioValue1,                          onChanged: _handleRadioValueChange1,                        ),                        new Text(                          'Herbivore',                          style: new TextStyle(                            fontSize: 16.0,                          ),                        ),                        new Radio(                          value: 2,                          groupValue: _radioValue1,                          onChanged: _handleRadioValueChange1,                        ),                        new Text(                          'Omnivore',                          style: new TextStyle(fontSize: 16.0),                        ),                      ],                    ),

Tags:

Misc Example