问题描述
在这里,我尝试使用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"]),),],);
},);