簡體   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