繁体   English   中英

Flutter FutureBuilder 中的嵌套 ListView 与 CheckboxListTyle 返回约束错误

[英]Flutter Nested ListView in FutureBuilder with CheckboxListTyle Returns Constraint Error

您好,所以我遇到的问题是以下代码

return Scaffold(
  body: Padding(
      padding: EdgeInsets.all(20),
      child: Row(
        children: [
          const SizedBox(width: 15),
          Column(
            mainAxisAlignment: MainAxisAlignment.start,
            crossAxisAlignment: CrossAxisAlignment.start,
            children: [
              Text(widget.routine.title!, style: TextStyle(fontWeight: FontWeight.bold, fontSize: 20)),
              SizedBox(height: 6),
              Text(widget.routine.description!),
              const Divider(
                height: 10,
                thickness: 2,
                indent: 20,
                endIndent: 0,
                color: Colors.white,
              ),
              FutureBuilder<List<RoutineTask>>(
                  future: _getRoutineTasks(widget.routine.id!),
                  builder: (BuildContext context, AsyncSnapshot<List<RoutineTask>> snapshot) {
                    if (snapshot.connectionState == ConnectionState.done) {
                      if(snapshot.data == null) {
                        return Center(
                          child: Text("No Tasks!"),
                        );
                      } else if (snapshot.hasError) {
                        return Center(
                          child: Text("An Error has Occured: ${snapshot.error}"),
                        );
                      } else {
                        return ListView.separated(
                          reverse: false,
                          itemCount: snapshot.data!.length,
                          scrollDirection: Axis.vertical,
                          shrinkWrap: true,
                          separatorBuilder: (BuildContext context, index) => const Divider(),
                          itemBuilder: (BuildContext context, index) {
                            return Container(
                                height: MediaQuery.of(context).size.height * 0.45,
                                decoration: BoxDecoration(
                                    color: Colors.blue,
                                    borderRadius: BorderRadius.circular(25)
                                ),
                                child: CheckboxListTile(
                                  value: snapshot.data![index].isComplete,
                                  onChanged: (bool? value) {
                                    setState(() {
                                      snapshot.data![index].isComplete = value;
                                    });
                                  },
                                ),
                              );
                          },
                        );
                      }
                    } else {
                      return Center(child: CircularProgressIndicator(),);
                    }
                  }
              )
            ],
          ),
        ],
      )),
); 

正在返回错误

'package:flutter/src/rendering/viewport.dart':断言失败:第 1869 行 pos 16:'constraints.hasBoundedWidth':不正确。

我不知道如何解决它,一直在尝试我能想到的每一种可能的组合。

编辑:这行得通。 尝试遵循这种树结构。

    return Scaffold(
    body: Row(
      children:[
          Text('ROWWWWWWWWWWW'),
        Expanded(
            child: Column(
              children:[
                  Text('COLUMN'),
                 Expanded(
                     child:  ListView(
                      children:[
                       Text('LISTVIEW'),
                      ],
                  ),
                 ),
              ]
          ),
        )
      ],
  ),
);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM