gpt4 book ai didi

flutter - ListView.builder 给出错误 : RenderBox was not laid out

转载 作者:行者123 更新时间:2023-12-04 01:46:11 25 4
gpt4 key购买 nike

我的 listview.builder 给了我大量的 Renderbox 错误,例如 flutter:

Another exception was thrown: RenderBox was not laid out: RenderViewport#fa71e NEEDS-LAYOUT NEEDS-PAINT

并且:

NoSuchMethodError: The method '<=' was called on null.

我尝试添加填充但无济于事。我在 Flutter 版本 1.3.10 上运行。

什么初始化错误?

import 'package:flutter/material.dart';

void main() => runApp(TodoList());

class TodoList extends StatefulWidget {
@override
State<StatefulWidget> createState() {
// TODO: implement createState
return _TodoListState();
}
}

var TaskTextField;
List taskTextList = [];
var TaskIsImportant = false;

class _TodoListState extends State<TodoList> {
@override
Widget build(BuildContext context) {
// TODO: implement build
return MaterialApp(
home: Scaffold(
appBar: AppBar(
title: Text("To-Do List V2"),
),
body: Column(
children: <Widget>[
Container(
child: TextField(
decoration: InputDecoration(
hintText: "Enter title of task to be added"),
onChanged: (taskTextField) {
setState(() {
TaskTextField = taskTextField;
print(TaskTextField);
});
},
),
margin: EdgeInsets.all(16.0),
),
CheckboxListTile(
title: Text("Important"),
activeColor: Colors.blue,
value: TaskIsImportant,
onChanged: (val) {
setState(() {
TaskIsImportant = !TaskIsImportant;
print(TaskIsImportant);
});
},
),
Container(
margin: EdgeInsetsDirectional.fromSTEB(118, 20, 118, 20),
child: Row(
children: <Widget>[
RaisedButton(
child: Icon(Icons.add),
onPressed: () {
setState(() {
if (TaskIsImportant) {
taskTextList.add("❗️$TaskTextField");
//taskTitleList.add(TaskDetailField);
} else {
taskTextList.add(TaskTextField);
//taskTitleList.add(TaskDetailField);
}
});
},
),
RaisedButton(
child: Icon(Icons.done_all),
onPressed: () {
setState(() {
taskTextList = [];
});
},
),
],
),
),
ListView.builder(
itemBuilder: (context, index) {
var title = taskTextList[index];
padding: EdgeInsets.all(16.0);
return ListView(
children: <Widget>[
Text(title),
],
);
},
),
],
),
),
);
}
}

最佳答案

请将您的 ListView.builder 更改为,

        Expanded(
child: ListView.builder(
itemBuilder: (context, index) {
var title = taskTextList[index];
padding: EdgeInsets.all(16.0);
return ListTile(
title: Text(title),
);
},
itemCount: taskTextList.length,
),
)

希望这对您有所帮助!

关于flutter - ListView.builder 给出错误 : RenderBox was not laid out,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55204328/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com