Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/188.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 具有动态标题的Listview复选框抖动_Android_Ios_Flutter - Fatal编程技术网

Android 具有动态标题的Listview复选框抖动

Android 具有动态标题的Listview复选框抖动,android,ios,flutter,Android,Ios,Flutter,因此,我想构建一个带有复选框的listview,并且数据应该是动态的,使用一个模型。任何帮助都将不胜感激。您可以使用StatefulWidget、FutureBuilder、ListView.builder和checkboxlistile这样做 class MyWidget extends StatefulWidget { @override _MyWidgetState createState() => _MyWidgetState(); } class _MyWidgetSt

因此,我想构建一个带有复选框的listview,并且数据应该是动态的,使用一个模型。任何帮助都将不胜感激。

您可以使用
StatefulWidget
FutureBuilder
ListView.builder
checkboxlistile
这样做

class MyWidget extends StatefulWidget {
  @override
  _MyWidgetState createState() => _MyWidgetState();
}

class _MyWidgetState extends State<MyWidget> {
  
  List<String> listOfItems;
  List<bool> itemCheckedState = [];
  
  @override
  Widget build(BuildContext context) {
    return FutureBuilder(
      future: fetchListOfItems(),
      builder: (context, snapshot){
        if(!snapshot.hasData){
          return const CircularProgressIndicator();
        }
        else {
          listOfItems = snapshot.data;
          for(int i = 0; i < listOfItems.length; i++){
            itemCheckedState.add(false);
          }
          return ListView.builder(
            itemCount: listOfItems.length,
            itemBuilder: (context, index){
              return CheckboxListTile(
                title: Text(listOfItems[index]),
                value: itemCheckedState[index],
                onChanged: (newValue){
                  setState((){
                    itemCheckedState[index] = newValue;
                  });
                },
              );
            }
          );
        }
      }
    );
  }
  
  
  Future<List<String>> fetchListOfItems() async {
    
    //for demo purpose lets just return a list after 2 seconds
    //here you can code for fetching your dynamic data instead
    
    List<String> list = ['abc', 'def', 'xyz'];
    await Future.delayed(Duration(seconds: 2), (){});
    return list;
  }
  
}
类MyWidget扩展了StatefulWidget{
@凌驾
_MyWidgetState createState()=>\u MyWidgetState();
}
类_MyWidgetState扩展状态{
项目清单;
List itemCheckedState=[];
@凌驾
小部件构建(构建上下文){
回归未来建设者(
future:fetchListOfItems(),
生成器:(上下文,快照){
如果(!snapshot.hasData){
return const CircularProgressIndicator();
}
否则{
listOfItems=snapshot.data;
for(int i=0;i
感谢您的响应,我实际上希望将数据存储在post请求的模型中,如:{“apple”:true,“banana”:false}。所以我想要一个模型类,它有一个构造函数来初始化变量