enum Location {语文, 数学, 英语, 物理, 化学, 其他}
class SelectLocationWidget extends StatefulWidget {
SelectLocationWidget({Key key}) : super(key: key);
@override
_SelectLocationWidgetState createState() => _SelectLocationWidgetState();
}
class _SelectLocationWidgetState extends State {
Location _location = Location.语文;
final TextEditingController _locationOthersController = new TextEditingController();
@override
Widget build(BuildContext context) {
return Column(
children: [
RadioListTile(
title: const Text('语文'),
value: Location.语文,
groupValue: _location,
onChanged: (Location value) {
setState(() {
_location = value;
});
},
),
RadioListTile(
title: const Text('数学'),
value: Location.数学,
groupValue: _location,
onChanged: (Location value) {
setState(() {
_location = value;
});
},
),
RadioListTile(
title: const Text('英语'),
value: Location.英语,
groupValue: _location,
onChanged: (Location value) {
setState(() {
_location = value;
});
},
),
RadioListTile(
title: const Text('物理'),
value: Location.物理,
groupValue: _location,
onChanged: (Location value) {
setState(() {
_location = value;
});
},
),
RadioListTile(
title: const Text('化学'),
value: Location.化学,
groupValue: _location,
onChanged: (Location value) {
setState(() {
_location = value;
});
},
),
RadioListTile(
title: TextField(
controller: _locationOthersController,
decoration: InputDecoration(
hintText: '其他',
),
),
value: Location.其他,
groupValue: _location,
onChanged: (Location value) {
setState(() {
_location = value;
});
},
),
],
);
}
}