我有某种物体的arraylist。这些对象有一些属性,如字符串和一些整数。而且,另一种物体的arraylist。
我先创建第二个对象。并将它们分组为这类物体的一个arraylist。然后我检查这个arraylist是否为空。如果不是,那么我创建另一个对象,并将其传递给第一个arrayList。并把它放在另一个arraylist。所以最后,我有一种对象的arraylist。所有这些对象,也有一个arraylist(和一些其他值,如一些字符串和整数)与其他对象。
问题是,最后,当我尝试访问其中一个对象中的arraylist时,它是空的。
不知道我试图做什么不可能。我已将两个arraylists都称为对象的arraylists。也许我应该将它们宣布为arraylists的arraylist?
提前致谢。
编辑:
会是这样的:
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;
}
}
这将是第一个对象(其ArrayList objects2,但“<>”不会出现)。
class Obj2 {
String string;
int integer;
public Obj2(String string, int integer2) {
this.string = string;
this.integer = integer;
}
}
与之前的“<>”相同。
然后,使用asynctask,我开始从网页搜索。我创建了一些Ob2。我可以从0到也许,15。所以,如果我得到一些,将它们全部放入Objs2的ArrayList中。然后我创建一个Obj1并传递它的属性字符串和整数,以及Objs2的ArrayList。然后,将此Obj1放入Objs1的ArrayList中。
最后,我可以将12个Ojs1放入ArrayList中。并且这些Obj1中的每一个都具有Objs2的ArrayList,具有1到15个Objs2。我从asynctask返回的是Objs1的ArrayList。
希望你理解我的意思。我的英语也不会帮忙。和合
再次感谢。
编辑2:
private class DownloadWork extends AsyncTask<URL, String, List<Obj1>>
{
ArrayList<Obj1>
objs1Downloaded = new ArrayList<Obj1>
();
ArrayList<Obj2>
objs2Downloaded = new ArrayList<Obj2>
();
//Some more stuff
protected List doInBackground(URL... params) {
for(...) {
//Do some stuff here ...
}
return objs1Downloaded;
}
正如我所说,objs1Downloaded会有12个objs1。每个obj1都可以有一个objs2的arraylist,1到15个obj2。这或多或少都是这个想法。
再次感谢并抱歉编辑等。
答案 0 :(得分:2)
你应该发布一些代码来给我们一个想法,这应该不是这样做的任何问题:
class Inner {
String name;
int num;
ArrayList<String> stringList;
public Inner(String name, int num, ArrayList<String> items) {
this.name = name;
this.num = num;
this.stringList = items;
}
}
ArrayList<Inner> outerList = new ArrayList<Inner>();
ArrayList<String> innerList = new ArrayList<String>();
for (int i = 0; i < 5; i++) {
innerList.add("" + i);
}
outerList.add(new Inner("Name", 1, innerList));
这为您提供了一个包含单个内部对象的ArrayList,其中包含另一个Strings *的ArrayList。
*未经测试,一般的想法应该是好的。