Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/variables/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Flutter 颤振:未显示FutureBuilder列表_Flutter_Future_Flutter Futurebuilder - Fatal编程技术网

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();
                                           
                                            })