老规矩,先来看一张效果图:
简单粗暴,直接上代码:
class AddExpense extends StatefulWidget {
@override
State<StatefulWidget> createState() => _AddExpensePage();
}
class _AddExpensePage extends State<AddExpense> {
List<String> _radioList = List<String>();
String _radioCheck = '直接报销';
@override
void initState() {
// TODO: implement initState
super.initState();
_radioList.add("直接报销");
_radioList.add("使用签报单");
_radioList.add("还专项借款");
}
@override
Widget build(BuildContext context) {
// TODO: implement build
return ListView.builder(
shrinkWrap: true,
itemCount: _radioList.length,
itemBuilder: (BuildContext context, int index) {
return ListTile(
title: Text(_radioList[index]),
leading: Radio(
value: _radioList[index],
groupValue: _radioCheck,
onChanged: (String value) {
setState(() {
_radioCheck = value;
});
},
),
onTap:(){
setState(() {
_radioCheck = _radioList[index];
});
},
);
});
}
}