Flutter 非抽象类&x27_加载屏幕状态';缺少实现
我有一个错误: 编译器消息:lib/screens/loading\u screen.dart:10:7:错误:错误 缺少非抽象类“\u LoadingScreenState” 对于这些成员: -State.build尝试 -实施,, -从超类或mixin继承实现, -将类标记为抽象类,或 -提供“noSuchMethod”实现 类加载Screenstate扩展状态{ ^^^^^^^^^^^^^^^^^^^/C:/src/flatter/flatter/packages/flatter/lib/src/widgets/framework.dart:1314:10: 上下文:“State.build”在这里定义。小部件构建(BuildContext 上下文); ^^^^^ 我尝试了不同的方法,但都没用。我更新了我的安卓系统 演播室 编译器消息:lib/screens/loading\u screen.dart:10:7:错误:错误 缺少非抽象类“\u LoadingScreenState” 对于这些成员: -State.build尝试 -实施,, -从超类或mixin继承实现, -将类标记为抽象类,或 -提供“noSuchMethod”实现 类加载Screenstate扩展状态{ ^^^^^^^^^^^^^^^^^^^/C:/src/flatter/flatter/packages/flatter/lib/src/widgets/framework.dart:1314:10: 上下文:“State.build”在这里定义。小部件构建(BuildContext 上下文) 我的代码:Flutter 非抽象类&x27_加载屏幕状态';缺少实现,flutter,dart,Flutter,Dart,我有一个错误: 编译器消息:lib/screens/loading\u screen.dart:10:7:错误:错误 缺少非抽象类“\u LoadingScreenState” 对于这些成员: -State.build尝试 -实施,, -从超类或mixin继承实现, -将类标记为抽象类,或 -提供“noSuchMethod”实现 类加载Screenstate扩展状态{ ^^^^^^^^^^^^^^^^^^^/C:/src/flatter/flatter/packages/flatter/lib/
import 'package:clima/screens/location.dart';
import 'package:http/http.dart' as http;
class LoadingScreen extends StatefulWidget {
@override
_LoadingScreenState createState() => _LoadingScreenState();
}
class _LoadingScreenState extends State<LoadingScreen> {
void initState() {
super.initState();
}
void getLocation() async {
Location location = Location();
await location.getCurrentLocation();
print(location.latitude);
print(location.longitude);
}
void getData() async {
http.Response response = await http.get(
"https://samples.openweathermap.org/data/2.5/weather?lat=35&lon=139&appid=b6907d289e10d714a6e88b30761fae22");
print(response.statusCode); // Body or StatusCode
if (response.statusCode == 200) {
String data = response.body;
print(data);
} else {
print(response.statusCode);
}
@override
Widget build(BuildContext context) {
getData();
return Scaffold();
}
}
}
import'包:clima/screens/location.dart';
将“package:http/http.dart”导入为http;
类加载屏幕扩展StatefulWidget{
@凌驾
_LoadingScreenState createState()=>\u LoadingScreenState();
}
类加载Screenstate扩展状态{
void initState(){
super.initState();
}
void getLocation()异步{
位置=位置();
等待位置。getCurrentLocation();
打印(位置、纬度);
打印(位置、经度);
}
void getData()异步{
http.Response-Response=等待http.get(
"https://samples.openweathermap.org/data/2.5/weather?lat=35&lon=139&appid=b6907d289e10d714a6e88b30761fae22");
打印(response.statusCode);//正文或状态代码
如果(response.statusCode==200){
字符串数据=response.body;
打印(数据);
}否则{
打印(响应状态码);
}
@凌驾
小部件构建(构建上下文){
getData();
返回脚手架();
}
}
}
构建方法放置在错误的位置,在您的代码中有以下内容:
void getData() async {
http.Response response = await http.get(
"https://samples.openweathermap.org/data/2.5/weather?lat=35&lon=139&appid=b6907d289e10d714a6e88b30761fae22");
print(response.statusCode); // Body or StatusCode
if (response.statusCode == 200) {
String data = response.body;
print(data);
} else {
print(response.statusCode);
}
@override
Widget build(BuildContext context) {
getData();
return Scaffold();
}
}
void getData() async {
http.Response response = await http.get(
"https://samples.openweathermap.org/data/2.5/weather?lat=35&lon=139&appid=b6907d289e10d714a6e88b30761fae22");
print(response.statusCode); // Body or StatusCode
if (response.statusCode == 200) {
String data = response.body;
print(data);
} else {
print(response.statusCode);
}
}
@override
Widget build(BuildContext context) {
getData();
return Scaffold();
}
if和else的括号都正确,而getData()
的括号在build
方法关闭之后
将其更改为以下内容:
void getData() async {
http.Response response = await http.get(
"https://samples.openweathermap.org/data/2.5/weather?lat=35&lon=139&appid=b6907d289e10d714a6e88b30761fae22");
print(response.statusCode); // Body or StatusCode
if (response.statusCode == 200) {
String data = response.body;
print(data);
} else {
print(response.statusCode);
}
@override
Widget build(BuildContext context) {
getData();
return Scaffold();
}
}
void getData() async {
http.Response response = await http.get(
"https://samples.openweathermap.org/data/2.5/weather?lat=35&lon=139&appid=b6907d289e10d714a6e88b30761fae22");
print(response.statusCode); // Body or StatusCode
if (response.statusCode == 200) {
String data = response.body;
print(data);
} else {
print(response.statusCode);
}
}
@override
Widget build(BuildContext context) {
getData();
return Scaffold();
}
没关系,这是常有的事