Flutter:缺少“State.build”的具体实现

艾拉·弗兰-贝尔

我在第 16 行收到错误消息:class _HomePageState extends State {

我在下面发布的小部件中已经有一个构建功能,当我尝试在 _HomePageState 中实现构建时,下面的代码无法运行。我不确定如何解决此错误,并希望有任何帮助!

import 'dart:convert';

import 'package:flutter/material.dart';
import 'package:http/http.dart' as http;

void main() => runApp(MaterialApp(
      home: HomePage(),
      debugShowCheckedModeBanner: false,
    ));

class HomePage extends StatefulWidget {
  @override
  _HomePageState createState() => _HomePageState();
}

 class _HomePageState extends State<HomePage> {
   Future getUserData() async {
    var response = await http.get(Uri.parse(
    'https://api.open-meteo.com/v1/forecast?latitude=52.52&longitude=13.41&hourly=temperature_2m'));

var jsonData = jsonDecode(response.body);

    List users = (response.body as List?)
            ?.map((u) => User(
                u['hourly'],
                u['time'],
                u['temperature_2m'],
                u['longitude'],
                u['generationtime_ms'],
                u['hourly_units'],
                u['latitude']))
            .toList() ??
        [];
  }
}

@override
Widget build(BuildContext context) {
  return Scaffold(
    appBar: AppBar(
      title: const Text('Rangers Tool'),
    ),
    body: Center(
        child: Card(
            child: FutureBuilder(
      future: getUserData(),
      builder: (context, AsyncSnapshot snapshot) {
        if (!snapshot.hasData) {
          return const Center(child:        

    CircularProgressIndicator());
        } else {
          return ListView.builder(
              itemCount: snapshot.data?.length,
              itemBuilder: (context, i) {
                return ListTile(
                  title: Text(snapshot.data[i].longitude),
                  subtitle: Text(snapshot.data[i].latitude),
                );
              });
        }
      },
    ))),
  );
}

getUserData() {}

class User {
  final String? hourly,
      time,
      temperature_2m,
      longitude,
      generationtime_m,
      hourly_units,
      latitude;

  User(this.longitude, this.latitude, this.hourly, this.time,
      this.temperature_2m, this.generationtime_m, this.hourly_units);
}
收费

您的build方法超出了状态类的范围。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章