В настоящее время я работаю над своим первым Android-приложением. Он анализирует данные JSON и помещает их в ListView (см. Ниже).Android - FATAL EXCEPTION: main при добавлении subList
protected void onPostExecute(String result){
try {
JSONArray json = new JSONArray(result);
for(int i = 0; i < json.length(); i++) {
listItems.add(json.getJSONObject(i).getString(("title")));
adapter.notifyDataSetChanged();
}
} catch (JSONException e) {
e.printStackTrace();
}
}
Однако при добавлении Подсписок путем изменения функции к этому:
protected void onPostExecute(String result){
try {
JSONArray json = new JSONArray(result);
List subList = listItems.subList(1,3);
for(int i = 0; i < json.length(); i++) {
listItems.add(json.getJSONObject(i).getString(("title")));
subList.add("Test");
adapter.notifyDataSetChanged();
}
} catch (JSONException e) {
e.printStackTrace();
}
}
Он генерирует следующее сообщение об ошибке:
03-03 14:23:56.480 15414-15414/nl.mikehagendoorn.efteltijden E/AndroidRuntime﹕ FATAL EXCEPTION: main
Process: nl.mikehagendoorn.efteltijden, PID: 15414
java.lang.IndexOutOfBoundsException
at java.util.AbstractList.subList(AbstractList.java:738)
at nl.mikehagendoorn.efteltijden.Main$HttpAsyncTask.onPostExecute(Main.java:133)
at nl.mikehagendoorn.efteltijden.Main$HttpAsyncTask.onPostExecute(Main.java:117)
at android.os.AsyncTask.finish(AsyncTask.java:632)
at android.os.AsyncTask.access$600(AsyncTask.java:177)
at android.os.AsyncTask$InternalHandler.handleMessage(AsyncTask.java:645)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:135)
at android.app.ActivityThread.main(ActivityThread.java:5221)
at java.lang.reflect.Method.invoke(Native Method)
at java.lang.reflect.Method.invoke(Method.java:372)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:899)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:694)
Может кто-нибудь сказать мне, что я делаю неправильно ?
Хорошо, это объясняет многое, спасибо. Но теперь, однако, я не совсем уверен, как мне действительно нужно добавить сам сублист. Не могли бы вы объяснить это? – kaanmijo
Зачем нужен подсписок? – Blackbelt
Я хотел бы поместить заголовок в «Обычный» список и дату сообщения в подсписке следующим образом: [link] (http://docs.oracle.com/cd/E35521_01/doc.111230/e24475 /img/main_sub_list.png) – kaanmijo