Flutter 颤振:未显示FutureBuilder列表
我有一份未来的清单Flutter 颤振:未显示FutureBuilder列表,flutter,future,flutter-futurebuilder,Flutter,Future,Flutter Futurebuilder,我有一份未来的清单 Future<List<String>> _future; List<String> showList = []; String showCode; Future<List<String>> getCode() async { final show = await SharedPreferences.getInstance(); setState(() { showLis
Future<List<String>> _future;
List<String> showList = [];
String showCode;
Future<List<String>> getCode() async {
final show = await SharedPreferences.getInstance();
setState(() {
showList = show.getStringList('companyName');
});
print('here ${showList.toString()}');
return showList;
}
将
ListView
的shrinkWrap
属性设置为true
:
我以您的代码为例添加了一个演示:
返回ListView.builder(
itemCount:snapshot.data.length,
包覆面提取:true,//换行
itemBuilder:(上下文,索引){
回程卡(
标高:6.0,
孩子:填充(
填充:常数边集全部(8.0),
孩子:排(
crossAxisAlignment:crossAxisAlignment.start,
儿童:[
文本(快照.数据[索引]),
],
),
));
},
);
这是嵌套在列中的列表视图
吗?我编辑了我的帖子。我添加了,但没有任何更改检查控制台是否有任何警告或错误。当我尝试我发布的修复程序时,它起作用了。进度指示器是否显示?它停了吗?停止后会发生什么?继续旋转,不会停止。我在上面添加了一个可视化视图,以便更好地理解。我可以看到您传递给FutureBuilder
小部件的future
?
? Container(
child: Padding(
padding: const EdgeInsets.all(16.0),
child: Column(
children: [
Column(
children: [
IconButton(
icon: Icon(Icons.close),
onPressed: () {
Navigator.pushNamed(
context, ShowScreen.routeName);
}),
Text(
'Please Select Show',
],
),
FutureBuilder(
future: _future,
builder: (context,
AsyncSnapshot<List<String>> snapshot) {
if (snapshot.hasData) {
return ListView.builder(
itemCount: snapshot.data.length,
itemBuilder: (context, index) {
return Card(
elevation: 6.0,
child: Padding(
padding: const EdgeInsets.all(8.0),
child: Row(
crossAxisAlignment:
CrossAxisAlignment.start,
children: <Widget>[
Text(snapshot.data[index]),
],
),
));
});
} else{
return CircularProgressIndicator();
}
}),
],
),
),
)
else{
_showData = !_showData;
shows.forEach((element) {
showCode = element.showName;
showList.add(element.showName);
show.setStringList(
'showName', showList);
getCode();
})