如何在Flutter中将带开关按钮的ListViewBuilder用于动态JSON数据?

时间:2020-08-02 08:25:10

标签: flutter flutter-layout flutter-animation

问题:使用静态Json可以轻松地设置与ListView平行的一定数量的开关按钮,但是当JSON数据本质上是动态的时,我无法理解如何与ListView Builder并行使用开关按钮?< / p>

示例

 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,以便用户可以更改键值 然后单击更新按钮,它将获取API的更新的JSON。

有人知道如何实现吗?

enter image description here

  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;
      });
    }

我尝试过,但是不明白如何使用switch按钮获取动态JSON和返回值

 output: {upi282:0,upi219:0,upi211:1,upi236:0}



   

0 个答案:

没有答案