Я получаю эту ошибку всякий раз, когда запускаю свое приложение Flutter:
E / flutter (8247): NoSuchMethodError: метод add был вызван для null.
class _HomePageState extends State<HomePage> {
List responseJson;
List EventDetails ;
Future<String> fetchPost() async {
final response = await http.get(
"https://....",
headers: {
HttpHeaders.AUTHORIZATION:
"Bearer .."
});
for(var i = 0; i< (responseJson?.length ?? 0);i++) {
print(responseJson[i]["id"]);
final eventDetailsRepsonse = await http.get(
"https:..." + responseJson[i]["id"].toString(),
headers: {
HttpHeaders.AUTHORIZATION:
"Bearer .."
});
EventDetails.add(json.decode(eventDetailsRepsonse.body));
EventDetails = responseJson;
}
//print(response.body);
this.setState(() {
responseJson = json.decode(response.body);
print(response.body);
print(responseJson);
});
// data = JSON.decode(response.body);
print(responseJson[1]["code"]);
print(responseJson[1]["event_banner"]);
//return new Post.fromJson(responseJson);
}
Есть идеи, как это решить?
Я отредактировал текст выше, пожалуйста, посмотрите его, спасибо!
Ваш список не инициализирован?
Какая строка вызывает эту ошибку? Попробуйте List EventDetails = []; вместо List EventDetails ;
Большое спасибо! Кажется, теперь работает!
responseJson еще не инициализирован, когда
for(var i = 0; i<responseJson.length;i++) {
выполняется.
Изменив его на
for(var i = 0; i< (responseJson?.length ?? 0);i++) {
может это исправить.
Спасибо за совет, но теперь я получаю: метод add был вызван для null.
Мне нужно больше подробностей. Кажется, это другая проблема.
Конечно. Я обновил поле выше, большое спасибо за ваше время.
Если это решит вашу проблему, подумайте о том, чтобы принять ответ, поставив галочку под кнопками "вверх" и "вниз".
Привет, Гюнтер! По какой-то причине я все еще получаю: [ERROR: topaz / lib / tonic / logging / dart_error.cc (16)] Необработанное исключение: E / flutter (6323): RangeError (index): Invalid value: Valid value range is пусто: 1
Какая линия? Вы получите эту информацию в случае ошибки, мне нужна эта информация. Если это responseJson[i], у меня нет способа сделать вывод, почему responseJson может быть пустым.
Очевидно, EventDetails пуст, поскольку я пытался распечатать его, и он дает мне [].
Какой код у
package:loginapp/myevents.dart:54:35. Это похоже на проблему в вашем коде. Нам нужно увидеть код, чтобы иметь возможность диагностировать.