Я всегда собирающий эту ошибку:Попытка получить длину массива нулевой
FATAL EXCEPTION: OkHttp Dispatcher
Process: com.langa.a1956, PID: 24253
java.lang.NullPointerException: Attempt to get length of null array
com.langa.a1956.Archivum.UI.SzabadEuMusorokLeirasActivity$1$1.startActivityJSON(SzabadEuMusorokLeirasActivity.java:49)
Это мой код:
mNextButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
page = 1;
while (page <= 27) {
jsonData = new JSON("http://1956.osaarchivum.org/api/items?collection=13&page=" + page + "&per_page=50", SzabadEuMusorokLeirasActivity.this);
Log.v("Current page:", page + "");
jsonData.mJSONInterface = new JSONInterface() {
@Override
public void startActivityJSON() {
for (int i = 0; i < jsonData.getCollections().length; i++) {
Log.v("Current I:", i + "");
final JSONMedia jsonMedia = new JSONMedia(jsonData.getCollections()[i].getMediaURL(), SzabadEuMusorokLeirasActivity.this);
final int finalI = i;
jsonMedia.mJSONMediaInterface = new JSONInterface() {
@Override
public void startActivityJSON() {
jsonData.getCollections()[finalI].setMediaURL(jsonMedia.getMediaUrl());
mCollectionList.add(jsonData.getCollections()[finalI]);
Log.v("NEWMEDIA", jsonMedia.getMediaUrl());
}
};
}
page++;
}
};
}
}
});
Я хочу зачитать различные страницы объекта JSON, но не будет работать ... Он всегда вылетает, когда я пытаюсь что-то сделать с переменной jsonData.
Возможная причина этой проблемы: jsonData.getCollections(). Length, где jsonData инициализируется, но его коллекция по-прежнему равна нулю. Таким образом, вы можете взглянуть на класс JSON, а также на ответ, потому что возможно, что переменная коллекции внутри класса JSON не получает инициализированный отказ от ответа NULL/пустой от API. – EEJ