颤振错误符文不是函数或方法,无法调用
Posted
技术标签:
【中文标题】颤振错误符文不是函数或方法,无法调用【英文标题】:flutter error runes isnt a fuction or method and cant be invoked 【发布时间】:2022-01-16 13:31:20 【问题描述】:List posts=[];
Future getPost()async
var url="https://jsonplaceholder.typicode.com/posts" ;
var http;
var response = await http.get(url);
var responsebody = jsonDecode(response.body) ;
return responsebody ;
// ignore: dead_code
setState(()
posts.addAll(responsebody);
);
@override
void initState()
getPost();
super.initState();
// ignore: dead_code
@override
Widget build(BuildContext context)
return Scaffold(
appBar: AppBar(title:Text('Alex',style: TextStyle(color: Colors.cyanAccent),),
backgroundColor: Colors.black87,centerTitle: true,),
drawer: Drawer(),
body: posts == null || posts.isEmpty ? Center(child: CircularProgressIndicator(),) :
Center( child: ListView.builder(
itemCount : posts.length,
itemBuilder :(context,i)
return Text("$posts[i]['title']");
,)
));
【问题讨论】:
请用三个反引号包围你的所有代码,像这样``` <empty line>```</empty>
添加这个类
class MyClass
final int userId;
final int id;
final String title;
final String body;
MyClass(
this.userId,
this.id,
this.title,
this.body);
factory MyClass.fromMap(Map<String, dynamic> json)
return MyClass(
json['userId'],
json['id'],
json['title'],
json['body']);
然后将 getPost() 方法更改为:
import 'package:http/http.dart' as http;
Future getPost()async
var url="https://jsonplaceholder.typicode.com/posts" ;
var response = await http.get(url);
final parsed = json.decode(response.body).cast<Map<String, dynamic>>();
setState(()
posts = parsed
.map<MyClass>((json) => MyClass.fromMap(json))
.toList();
);
【讨论】:
很遗憾没用,我遇到了同样的错误,我被这样困了一个星期 将此行添加到小部件代码“import 'package:http/http.dart' as http;”我编辑了答案 我复制了你发给我的代码,但它没有用,我用其他包也有同样的错误 调试步骤,看看是否收到来自服务器的数据 不,我没有收到数据(感谢您与我站在一起,我正在努力寻找解决方案)【参考方案2】:问题出在 SDK 工具上。打开命令提示符并运行:
git clean -xfd
重启你的电脑然后运行:
flutter upgrade
【讨论】:
以上是关于颤振错误符文不是函数或方法,无法调用的主要内容,如果未能解决你的问题,请参考以下文章
颤振错误“方法'toLowerCase()'在null上被调用”
颤振打开 Hive 框会给出错误 - 说找不到框,您是不是忘记调用 Hive openbox()
颤振应用程序中的“setState() 或 MarkNeedsBuild() 期间调用”错误
颤振医生 --android-licenses 错误:无法找到或加载主类 Studio