以下是我的代码,用于基于API调用中的数据显示列表视图
body:onAPICall
? AppWidget().spinner()
: propertyList.length == 0 ||
_IsSearching && searchList.length == 0
? Center(
child: Text(
'No Data',
style: TextStyle(
fontWeight: FontWeight.w600, fontSize: 20),
))
: ListView.builder(
itemCount: propertyList.length,
itemBuilder: (context, index) {
return propertyListData(index);
}),
这里onAPICall是一个布尔值。现在我可以显示列表视图或没有正确的数据
但是我试图在列表视图上方添加一个textview,如下所示:
body: SafeArea(
child: Column(children: <Widget>[
Padding(
padding: const EdgeInsets.only(top: 15, left: 10, right: 10),
child: ListTile(
dense: true,
title: Text(_currentAddress,
textAlign: TextAlign.start,),
)),
isApiCall
? AppWidget().spinner()
: propertyList.length == 0 ||
_IsSearching && searchList.length == 0
? Center(
child: Text(
'No Related Properties',
style:
TextStyle(fontWeight: FontWeight.w600, fontSize: 20),
))
: ListView.builder(
itemCount: propertyList.length,
itemBuilder: (context, index) {
return propertyListData(index);
}),
]))
现在我只能看到“文本”和“ appwidget”出现,但是内容列表没有加载,如果没有数据,它会显示在页面顶部。
答案 0 :(得分:0)
您必须确保ListView
的大小,因为Column
没有给出最小大小。
要解决此问题,请将列表(和中心)包装在Expanded
答案 1 :(得分:0)
将ListView
的{{1}}属性设置为shrinkWrap
。