类型'_InternalLinkedHashMap'不是的子类型 输入“字符串”
我的代码:
class HomeState extends State<Home> { List data;
Future<List> getData() async {
Network network = Network();
var response = await network.getData();
print('response');
print(response);
this.setState(() {
data = response;
});
print('data');
print(data);
// return "Success!"; }
@override void initState(){
this.getData(); }
@override Widget build(BuildContext context){
return new Scaffold(
appBar: new AppBar(title: new Text("Listviews"), backgroundColor: Colors.blue),
body: new ListView.builder(
itemCount: data == null ? 0 : data.length,
itemBuilder: (BuildContext context, int index){
return new Card(
child: new Text(data[index]),
);
},
),
); } }
答案 0 :(得分:0)
这是因为network.getData()返回json。文本小部件需要一个字符串。如果只想将每个列表项添加到文本,则只需调用data [index] .toString()。否则,您需要在json中找到所需的值。想象一下,您的JSON具有名称键,因此您应该使用data [index] ['name']语法。