Java android:将数据动态加载到ExpandableListView不起作用,可能是因为清除了ListChild元素的数据列表
我有一个可扩展的ListView,我想在ListView的子级中插入一个字符串。例如,格式为:“01:22:56;1”。分号后面的数字表示分号之前的字符串值应放在哪个标题下。我写了一个算法,应该可以实现这一点,我已经在Eclipse中对它进行了测试,它正在那里工作 然而,当我在android应用程序中使用此算法时,所有标题都是空的。我假设这是因为我在将ArrayList List2作为hte头的数据后清除了它。但是我需要清除列表,否则我的算法将无法工作。如何改进算法,使我不必清除list2Java android:将数据动态加载到ExpandableListView不起作用,可能是因为清除了ListChild元素的数据列表,java,android,algorithm,arraylist,expandablelistview,Java,Android,Algorithm,Arraylist,Expandablelistview,我有一个可扩展的ListView,我想在ListView的子级中插入一个字符串。例如,格式为:“01:22:56;1”。分号后面的数字表示分号之前的字符串值应放在哪个标题下。我写了一个算法,应该可以实现这一点,我已经在Eclipse中对它进行了测试,它正在那里工作 然而,当我在android应用程序中使用此算法时,所有标题都是空的。我假设这是因为我在将ArrayList List2作为hte头的数据后清除了它。但是我需要清除列表,否则我的算法将无法工作。如何改进算法,使我不必清除list2 fo
for(int g=0;g<listDataHeader.size();g++){
for(int k= 0; k<liste1.size();k++){
if(liste1.get(k).contains(";"+g)){
liste2.add(liste1.get(k).substring(0, liste1.get(k).indexOf(";")));
}
}
listDataChild.put(listDataHeader.get(g),liste2);
liste2.clear();
}
for(int g=0;g在Shark的帮助下,我找到了正确的解决方案,它是listDataChild.put(listDataHeader.get(g),(List)list2.clone();
创建一个list2
的深度克隆,并将其放入listDataChild
中。你能解释一下我应该怎么做吗,我查了一下,但我真的不知道该如何使用它,因为据我所知,我需要一个未定义的克隆数,相当于我的ListView中的头数。这就是我的想法,是吗y header获取其列表的克隆。因此,清除List2不会损害已处理的header。那么,有没有办法动态创建列表的克隆?我没有找到任何。:(sheesh…listDataChild.put(listDataHeader.get(g),List2.clone())
尽管要小心,但这可能不是深度克隆,而只是浅层克隆。但一定要测试一下,也许你根本不需要深度克隆:)