У меня есть arraylist для каких-то объектов. Эти объекты имеют некоторые атрибуты, такие как строки и некоторые целые числа. Но также, arraylist объектов другого типа.
Сначала я создаю второй объект. И сгруппируйте их в массив таких объектов. Затем я проверяю, пуст ли этот массив. Если это не так, то я создаю другой объект и передаю ему первый arrayList. И поместите это в другого arraylist. Итак, в конце у меня есть arraylist объектов одного типа. И все эти объекты также имеют arraylist (и несколько других значений, как некоторые строки и целые числа) с другими объектами.
Проблема в том, что в конце, когда я пытаюсь получить доступ к массиву внутри одного из этих объектов, он пуст.
Не знаю, что я пытаюсь сделать в невозможном. Я объявил обоих arraylists как arraylists объектов. Может быть, я должен объявить их как arraylist arraylists?
Заранее спасибо.
Отредактировано:
Было бы что-то вроде этого:
class Obj1 {
String string;
int integer;
ArrayList objects2;
public Obj1(String string, int integer, ArrayList objects2) {
this.string = string;
this.integer = integer;
this.objects2 = objects2;
}
}
Это будет первый объект (его объекты ArrayList2, но «<>» не появляется).
class Obj2 {
String string;
int integer;
public Obj2(String string, int integer2) {
this.string = string;
this.integer = integer;
}
}
То же, что и раньше с "<>".
Затем с помощью асинхронной задачи я начинаю поиск с веб-страницы. Я создаю немного Ob2. У меня может быть от 0 до, может быть, 15. Поэтому, если я получу их, поместите их все в ArrayList из Objs2. Затем я создаю Obj1 и передаю ему его атрибуты string и integer, а также ArrayList из Objs2. А после этого поместите этот Obj1 в ArrayList of Objs1.
В конце я могу иметь, например, 12 Ojs1 в ArrayList. И у каждого из этих Obj1 есть ArrayList Objs2, с 1 по 15 Objs2. Из асинктаск я возвращаю ArrayList of Objs1.
Надеюсь, вы понимаете, о чем я. Также мой английский не поможет. хехе
Еще раз спасибо.
Отредактировано 2:
<code>private class DownloadWork extends AsyncTask<code><URL, String, List<Obj1>></code> {
ArrayList<code><Obj1></code> objs1Downloaded = new ArrayList<code><Obj1></code>();
ArrayList<code><Obj2></code> objs2Downloaded = new ArrayList<code><Obj2></code>();
//Some more stuff
protected List doInBackground(URL... params) {
for(...) {
//Do some stuff here ...
}
return objs1Downloaded;
}
У objs1Downloaded, как я уже сказал, будет 12 objs1, например. И у каждого объекта obj1 может быть массив arjl2 с 1 до 15 объектов obj2. Это более или менее идея.
Еще раз спасибо и извините за правки и так далее.