类型字符串不是int flutter类型的子类型

时间:2019-12-29 13:55:41

标签: flutter dart

我正在创建一个从API提取数据的应用程序,最初,我可以成功获取数据,但是几天后,每当我遇到“类型字符串不是int flutter类型的子类型”的错误时,打开应用程序。我什至没有更改代码,但仍然在屏幕上显示错误

  

PrayerRepository.dart

    abstract class PrayerRepository {
      Future<List<Item>> getItem();
    }
    class PrayerRepositoryImpl implements PrayerRepository {
      @override
      Future<List<Item>> getItem() async {
        var response = await http.get("https://muslimsalat.com/riyadh.json?key=key");
        if (response.statusCode == 200) {
          var data = json.decode(response.body);
          List<Item> item = Welcome.fromJson(data).items;
          return item;
        } else {
          throw Exception();
        }
      }
    }
  

HomePage.dart

    ListView.builder(
          itemCount: item == null ? 0 : item.length,
          itemBuilder: (BuildContext ctx, int pos) {

            return new Container(
              child: new Center(
                child: new Column(
                  crossAxisAlignment: CrossAxisAlignment.center,
                  children: <Widget>[
                    new Card(
                      child: Padding(
                        padding: const EdgeInsets.all(8.0),
                        child: new Container(
                          child: Column(
                            children: <Widget>[
                              Padding(
                                padding: EdgeInsets.only(top: 10.0),
                              ),
                              Row(
                                children: <Widget>[
                                  Text("Fajr"),
                                  Padding(
                                    padding: EdgeInsets.only(left: 50.0),
                                  ),
                                  Text(item[pos].fajr),

1 个答案:

答案 0 :(得分:0)

如果您尚未更改代码,则您正在调用的API可能已更改。在这种情况下,您可以检查api或更改Welcome.fromJson()以处理正确的数据类型