在构建列表视图时,我会得到这两个错误。
对于“未来”类型,没有定义getter 'length‘。运算符'[]‘不是为类型’未来‘定义的。
这里出了什么问题,我的代码有什么问题吗?
谢谢阿洛特!
这是我的密码:
import 'package:cache_manager/cache_manager.dart';
import 'package:flutter/material.dart';
class messageBoard extends StatefulWidget {
messageBoard({Key key}) : super(key: key);
@override
State<messageBoard> createState() => _messageBoardState();
}
class _messageBoardState extends State<messageBoard> {
@override
Widget build(BuildContext context) {
var message = ReadCache.getStringList(key: "cahce3");
return Scaffold(
backgroundColor: Colors.white,
body: Column(
children: [
Expanded(
child: FutureBuilder(
builder: (context , snapshot) {
return ListView.builder(
itemCount: message.length,
itemBuilder:(context,index){
return Text(message[index]);
}
);
},
),
)],
),
);
}
}发布于 2022-07-16 12:18:22
未来的建设者拥有未来。您可以将未来分配给Futurebuilder并检查其数据。假设ReadCache.getStringList是一个未来,您可以这样编写它。
FutureBuilder(
future: ReadCache.getStringList(key: "cahce3"),
builder: (context , snapshot) {
if (snapshot.hasData) {
return ListView.builder(
itemCount: snapshot.data.length,
itemBuilder:(context,index){
return Text(snapshot.data[index]);
}
);
}
else{
return Text("No Data");
}
},
),https://stackoverflow.com/questions/73004085
复制相似问题