Проблема: Используя stati c Json, я могу легко установить определенное количество кнопок переключения параллельно ListView, но когда данные JSON имеют динамический c характер, я не могу понять, как использовать кнопка переключения параллельно ListView Builder?
Пример
Input
MapIDs={upi282:1,upi219:1,upi211:0,upi236:0};// number of upi..'s increase or decrease based on fetching data from API
Я хочу использовать выше Json для ListViewBuilder с кнопкой переключения, чтобы пользователь мог изменить значение ключа И при нажатии кнопку обновления, он получает обновленный JSON для API.
Кто-нибудь знает, как это реализовать?
введите описание изображения здесь
Code:
MapIDs={upi282:1,upi219:1,upi211:0,upi236:0};// number of upi..'s increase or decrease
bool switch_Value=true;
Widget generateListandGetValue( MapIDs,int LengthofMap,switch_Value) {
return ListView.builder(
scrollDirection: Axis.vertical,
shrinkWrap: true,
itemCount:LengthofMap,
itemBuilder: (BuildContext context, int index) {
return Row(
children: <Widget>[
Expanded(
child: ListTile(
title: Text(
'\nName- ${MapIDs[index]}\n',
style: TextStyle(
fontSize: 15.0,
fontWeight: FontWeight.w700),
),
trailing:
Switch(
value: switch_Value,
onChanged: AlertsStatus,
activeColor: greenColor,
activeTrackColor: greenColor,
),
// onExpansionChanged: toggleAlertsStatus,
selected: true,
),
),
],
);
});
}
void AlertsStatus(alertsOn) {
setState(() {
print(alertsOn);
alertsOn ? _buttonStatus = 1 : _buttonStatus = 0;
});
}
Я пытался, но не мог понять, как использовать кнопку переключения для динамического c JSON и вернуть значение
output: {upi282:0,upi219:0,upi211:1,upi236:0}