簡體   English   中英

Flutter ListView.builder

[英]Flutter ListView.builder

類型“_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]),
          );
        },
      ),
    );   } }

這是因為 network.getData() 返回 json。 文本小部件需要一個字符串。 如果您只想將每個列表項添加到文本中,只需調用 data[index].toString()。 否則,您需要在 json 中找到您需要的價值。 想象一下你有 json 和 name 鍵,所以你應該使用 data[index]['name'] 語法。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM