在尝试从 url 获取数据后尝试 运行 我的 flutter 应用程序时出现空错误
I get a null error when I try to run my flutter app after trying to fetch data from a url
将我的应用程序主页修改为如下所示的代码后,我收到以下错误,我在 object_patch.dart 文件中收到错误。我不知道如何解决。我做错了什么?
发生异常。
NoSuchMethodError(NoSuchMethodError:在 null 上调用了方法“[]”。
接收者:空
尝试调用:)(见图)
import 'package:awsome_app/drawer.dart';
import 'package:flutter/material.dart';
import 'package:http/http.dart' as http;
class Homepage extends StatefulWidget {
const Homepage({Key? key}) : super(key: key);
@override
State<Homepage> createState() => _HomepageState();
}
class _HomepageState extends State<Homepage> {
//Functions here now
// var myText = "This is a function";
// TextEditingController _nameController = TextEditingController();
var url = "https://jsonplaceholder.typicode.com/photos";
var data;
@override
void initState() {
// TODO: implement initState
super.initState();
fetchData();
}
fetchData() async {
var res = await http.post(Uri.parse(url));
data = jsonDecode(res.body);
setState(() {});
;
}
@override
Widget build(BuildContext context) {
return Scaffold(
backgroundColor: Color.fromARGB(204, 255, 249, 249),
appBar: AppBar(title: const Text("Welcome to Flutter App")),
body: data != null
? ListView.builder(
itemBuilder: (context, index) {
return ListTile(
title: Text(data[index]["title"]),
);
},
itemCount: data.length,
)
: Center(
child: CircularProgressIndicator(),
)
);
}
}```
GET https://jsonplaceholder.typicode.com/photos 将 return 照片列表。
替换
var res = await http.post(Uri.parse(url));
与
var res = await http.get(Uri.parse(url));
将我的应用程序主页修改为如下所示的代码后,我收到以下错误,我在 object_patch.dart 文件中收到错误。我不知道如何解决。我做错了什么?
发生异常。 NoSuchMethodError(NoSuchMethodError:在 null 上调用了方法“[]”。 接收者:空 尝试调用:)(见图)
import 'package:awsome_app/drawer.dart';
import 'package:flutter/material.dart';
import 'package:http/http.dart' as http;
class Homepage extends StatefulWidget {
const Homepage({Key? key}) : super(key: key);
@override
State<Homepage> createState() => _HomepageState();
}
class _HomepageState extends State<Homepage> {
//Functions here now
// var myText = "This is a function";
// TextEditingController _nameController = TextEditingController();
var url = "https://jsonplaceholder.typicode.com/photos";
var data;
@override
void initState() {
// TODO: implement initState
super.initState();
fetchData();
}
fetchData() async {
var res = await http.post(Uri.parse(url));
data = jsonDecode(res.body);
setState(() {});
;
}
@override
Widget build(BuildContext context) {
return Scaffold(
backgroundColor: Color.fromARGB(204, 255, 249, 249),
appBar: AppBar(title: const Text("Welcome to Flutter App")),
body: data != null
? ListView.builder(
itemBuilder: (context, index) {
return ListTile(
title: Text(data[index]["title"]),
);
},
itemCount: data.length,
)
: Center(
child: CircularProgressIndicator(),
)
);
}
}```
GET https://jsonplaceholder.typicode.com/photos 将 return 照片列表。
替换
var res = await http.post(Uri.parse(url));
与
var res = await http.get(Uri.parse(url));