我有一个消耗性列表视图,每个组视图有 5 个子项。但是当我抱怨将多个组视图添加到列表中时,没有任何效果......
子视图不在相应的组视图下(每个组视图5 个),但它们将被添加到其他组视图的其他子视图之外(如果列表中有 2 个组视图,则每个组视图 10 个,如果列表中有 15 个组视图,则为 3 个...)。这意味着所有可用的子视图都位于每个GroupVeiw元素中有人可以帮助我吗?我很抱歉我的英语不好。
我认为错误出在哈希图星座中,但我不明白......
这就是我设置适配器的方式,我正在使用消耗性基本适配器,就像这个嘟嘟一样:http://www.androidhive.info/2013/07/android-expandable-list-view-tutorial/
public void prepareListData(){
dataChild = new HashMap<String, List<String>>();
dataHead = new ArrayList<String>();
List<String> uebung = new ArrayList<String>();
for(int i=0;i<list.size();i++){
//set Head
dataHead.add(list.get(i).getName());
//set Childs
uebung.add(String.valueOf(list.get(i).getGewicht()));
uebung.add(String.valueOf(list.get(i).getWdhlg()));
uebung.add(String.valueOf(list.get(i).getSaetze()));
uebung.add(String.valueOf(list.get(i).getKommentar()));
uebung.add(String.valueOf(list.get(i).getEinheit()));
dataChild.put(dataHead.get(i), uebung);
}
adapt = new ListViewAdapterUebungH(getActivity(), dataHead, dataChild);
explistView.setAdapter(adapt);
好的,我发现了我的错误,我必须在 for 循环中创建新的 Listuebung。由于这个错误,信息被添加到每个新头部元素的列表中
List<String> uebung;
//size is the filled list from Trainingsplansammlung
for(int i=0;i<list.size();i++){
uebung = new ArrayList<String>();
//set Head
dataHead.add(list.get(i).getName());
//set Childs
uebung.add(String.valueOf(list.get(i).getGewicht()));
uebung.add(String.valueOf(list.get(i).getWdhlg()));
uebung.add(String.valueOf(list.get(i).getSaetze()));
uebung.add(String.valueOf(list.get(i).getKommentar()));
uebung.add(String.valueOf(list.get(i).getEinheit()));
dataChild.put(dataHead.get(i), uebung);
}