Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/303.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java android:将数据动态加载到ExpandableListView不起作用,可能是因为清除了ListChild元素的数据列表_Java_Android_Algorithm_Arraylist_Expandablelistview - Fatal编程技术网

Java android:将数据动态加载到ExpandableListView不起作用,可能是因为清除了ListChild元素的数据列表

Java 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

我有一个可扩展的ListView,我想在ListView的子级中插入一个字符串。例如,格式为:“01:22:56;1”。分号后面的数字表示分号之前的字符串值应放在哪个标题下。我写了一个算法,应该可以实现这一点,我已经在Eclipse中对它进行了测试,它正在那里工作

然而,当我在android应用程序中使用此算法时,所有标题都是空的。我假设这是因为我在将ArrayList List2作为hte头的数据后清除了它。但是我需要清除列表,否则我的算法将无法工作。如何改进算法,使我不必清除list2

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())
尽管要小心,但这可能不是深度克隆,而只是浅层克隆。但一定要测试一下,也许你根本不需要深度克隆:)