我正在创建一个从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),
答案 0 :(得分:0)
如果您尚未更改代码,则您正在调用的API可能已更改。在这种情况下,您可以检查api或更改Welcome.fromJson()
以处理正确的数据类型