FlutterでListを表示させる

表示させたいListを作成。plist = [Row(), Row(), Row(), ...]の状態になる。

List<Widget> _makeWidgetList(list, stateArr, provider) {
 var resultList = List<Widget>();
 for (int i = 0; i < list.length; i++) {
   resultList.add(Row(
     children: [
       Checkbox(
         value: stateArr[i],
         onChanged: (bool value) {
           provider.onChangeCheckbox(i, value);
         },
       ),
       Text(list[i]),
     ],
   ));
 }
 return resultList;
}

List<Widget> plist =
       _makeWidgetList(xxxList, xxxStateArr, xxxProvider);

plistの表示部分は以下の通り。for文を使うことができる。

for (int i = 0; i < plist.length; i++) plist[i],
Column(
       children: <Widget>[
           for (int i = 0; i < plist.length; i++) plist[i],
           SizedBox(
             width: 320,
             height: 50,
             child: TextField(
               decoration: InputDecoration(hintText: 'その他'),
               controller: xxxController,
               onChanged: (text) {
                 xxxProvider.setText('other', text);
               },
             ),
           ),
         ],
       ),


いいなと思ったら応援しよう!