У меня есть класс, в котором я хочу создать 6 переключателей для одноразового выбора, поэтому я создал отдельный виджет для переключателя, как я могу вызвать этот виджет и изменить значения переключателей. вот что я сделал
Вот отдельный виджет, который я хочу вызвать 6 раз из другого класса:
class ChooseTime extends StatefulWidget {
final int value;
final int selection;
final int num;
final String time;
final Function selectTime;
ChooseTime(
{this.selection, this.value, this.num, this.time, this.selectTime});
@override
_ChooseTimeState createState() => _ChooseTimeState();
}
Row(
children: <Widget>[
Radio(
focusColor: Colors.white,
activeColor: Colors.white,
groupValue: _selection,
onChanged: widget.selectTime,
value: widget.value,
),
Text(
widget.time,
style: TextStyle(
fontWeight: FontWeight.bold,
color: _selection == widget.num
? Colors.white
: Colors.deepOrangeAccent,
),
),
],
),
А вот класс, в котором я вызываю виджет выше:
selectTime(int timeSelected) {
setState(() {
_selection = timeSelected;
});
}
Row(
mainAxisAlignment: MainAxisAlignment.spaceAround,
children: [
ChooseTime(
selection: 1,
value: 1,
num: 1,
time: "09:00-11:00",
selectTime: selectTime,
),
ChooseTime(
selection: 2,
value: 2,
num: 2,
time: "11:00-14:00",
selectTime: selectTime,
),
],
),
Я пробовал приведенный выше код, но когда я нажимаю кнопку, они не меняются.