Ich weiß, es einfache Frage ist, aber inGet Wert (String) von ArrayList <ArrayList <String>>(); in Java
ArrayList<ArrayList<String>> collection;
ArrayList<String> listOfSomething;
collection= new ArrayList<ArrayList<String>>();
listOfSomething = new ArrayList<String>();
listOfSomething.Add("first");
listOfSomething.Add("second");
collection.Add(listOfSomething);
listOfSomething.Clear();
listOfSomething.Add("first");
collection.Add(listOfSomething);
Ich mag String von Arraylist von Arraylist nehmen, und ich weiß nicht, wie das zu tun. Zum Beispiel gehe ich
ArrayList<String> myList = collection.get(0);
String s = myList.get(0);
und es funktioniert! aber:
Großes Update:
private List<S> valuesS;
private List<Z> valuesZ;
ArrayList<ArrayList<String>> listOfS;
ArrayList<String> listOfZ;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
Zdatasource = new ZDataSource(this);
Zdatasource.open();
valuesZ = Zdatasource.getAllZ();
Sdatasource = new SDataSource(this);
Sdatasource.open();
valuesS = Sdatasource.getAllS();
List<Map<String, String>> groupData
= new ArrayList<Map<String, String>>();
List<List<Map<String, String>>> childData
= new ArrayList<List<Map<String, String>>>();
listOfS = new ArrayList<ArrayList<String>>();
listOfZ = new ArrayList<String>();
for (S i : valuesS) { // S is class
for (Z j : valuesZ) { // Z is class
if(j.getNumerS().equals(i.getNumerS())) {
listOfZ.add(j.getNumerZ());
}
else
{
//listOfZ.add("nothing");
}
}
listOfS.add(listOfZ);
if(!listOf.isEmpty()) listOfZ.clear();
}
@Override
public boolean onChildClick(ExpandableListView parent, View v, int groupPosition,
int childPosition, long id) {
try
{
ArrayList<String> myList = listOfS.get(groupPosition);
String s = myList.get(childPosition);
PrintToast("group "+Integer.toString(groupPosition)+", child "+Integer.toString(childPosition) + " , "+ s);
}
catch(Exception e)
{
Log.e("FS", e.toString());
}
return true;
}
Rückkehr mich java.lang.IndexOutOfBoundsException: Ungültige Index 1, Größe 0 ist, wenn ich auf Element klicken, die wirklich existieren sollten. Ich habe keinen Code angezeigt, der ListView generiert, aber ich kann Ihnen sagen, dass mein listOfS 3 Elemente enthält: Zuerst ist Null listOfZ, zweite listOfZ hat 2 Elemente, dritte listOfZ hat 1 Element bekommen.
Sie erhalten null auf denen nennen - zu myList oder String s? – drewmoore
Wenn Sie null haben, bedeutet dies, dass das zweite Element der ersten Liste in der Auflistung null ist. Wie können wir helfen? –
Nun, ich werde meine Frage aktualisieren. – boski