@override Widget build(BuildContext context) { return WillPopScope( onWillPop: () async { // 在这里处理返回事件,例如返回前执行一些操作 Get.arguments["callback"](); return true; }, child: Scaffold( backgroundColor: AppColors.vcBkColor, appBar: AppBar( title: const Text('预警信息'), ), body: Column( children: [ Expanded( child: Container( color: Colors.white, // margin: EdgeInsets.all(10), padding: EdgeInsets.fromLTRB(20, 20, 10, 10), child: Column(children: [ nameDetailView("事件", title, ShiJianTime, title, []), SizedBox( height: 20, ), Divider( color: Colors.blue, height: 1.0, thickness: 1.0, ), SizedBox( height: 20, ), chuliDetail(), Expanded( child: ListView.builder( //shrinkWrap:true, itemCount: LogList.length, itemBuilder: (BuildContext context, int index) { return _getItemView(index); }, )), ]), ), ), ], ), )); } 为什么ListView不嵌套在Expanded里界面不显示数据
时间: 2024-02-10 22:26:18 浏览: 134
Spring Boot 线程池的创建、@Async 配置步骤及注意事项.docx
根据你提供的代码,`ListView` 没有显示数据的原因是因为 `ListView` 没有被正确地包裹在 `Expanded` 组件内。在你的代码中,你将 `ListView.builder` 放在了 `Column` 的最后一个子组件位置,而没有将其包裹在 `Expanded` 内。
为了使 `ListView` 填充剩余可用空间,你需要将其放置在 `Column` 的 `children` 列表中的一个 `Expanded` 组件内。请将 `ListView.builder` 放置在 `Column` 的子组件列表中的适当位置,例如将其放置在 `chuliDetail()` 下方。
以下是修改后的代码示例:
```dart
Column(
children: [
Expanded(
child: Container(
color: Colors.white,
padding: EdgeInsets.fromLTRB(20, 20, 10, 10),
child: Column(
children: [
nameDetailView("事件", title, ShiJianTime, title, []),
SizedBox(height: 20),
Divider(color: Colors.blue, height: 1.0, thickness: 1.0),
SizedBox(height: 20),
chuliDetail(),
Expanded(
child: ListView.builder(
itemCount: LogList.length,
itemBuilder: (BuildContext context, int index) {
return _getItemView(index);
},
),
),
],
),
),
),
],
),
```
这样,`ListView.builder` 将会填充剩余的可用空间,并且你的数据应该能够正确地显示在列表中了。如果仍然存在问题,请提供更多的代码细节或错误信息,以便我能更好地帮助你解决问题。
阅读全文