在将api数据获取到列表视图时,“字符串”不是“索引”颤动的“ int”类型的子类型扑

问题描述

在这里,我尝试使用api获取数据并将其使用streambuilder传递给listview

RemoveFromTable('table ID','value')

这是我要在列表视图中显示数据的代码,但出现错误(字符串不是'index'的'int'类型的子类型)

class _MyHomePageState extends State<MyHomePage> {
    
      String _url = "https://owlbot.info/api/v4/dictionary";
      String _token = "f2b517e6582daa3acc7df5f259c5707dc9d2147e";
    
      TextEditingController _controller = TextEditingController();
    
      StreamController _streamController;
      Stream _stream;
    
      _search() async{
        if(_controller.text == null || _controller.text.length == 0){
          _streamController.add(null);
        }
        Response response = await get(_url + _controller.text.trim(),headers: {"Authorization": "Token " + _token});
        if(response.statusCode == 200){
        var encode = json.encode(response.body);
        
        _streamController.add(json.decode(encode));
        }
        else{
          print(response.statusCode);
        }
      }

解决方法

检查

return ListView.builder(
                itemCount: snapshot.data["definitions"].length,itemBuilder: (BuildContext context,int index){
                  return ListBody(
                    children: <Widget>[
                      Container(
                        color: Colors.grey[300],child: ListTile(
                          leading: snapshot.data["definitions"][index]["image_url"] = null ? null : CircleAvatar(
                            backgroundImage: NetworkImage((snapshot.data["definitions"] as List)[index]["image_url"]),),],);
                },);

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...