我有一个ExpendableListView,每个groupView有5个子节点。但是,当我想在列表中添加多个groupView时,没有任何作用......
childView不在相应的groupView下(每个groupView 5个),但是它们将被添加到来自其他groupViews的其他childViews(如果列表中有2个groupView,则每个groupView 10个,如果是3个,则为15个.. )。 这意味着所有可用的子视图都在everyGroupVeiw元素中 有谁能够帮我?我很抱歉我的英语不好。
我认为错误在于Hashmap星座,但我不明白......
这就是我设置适配器的方式,我在这个tut中使用了spendableBaseAdapter: 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);
答案 0 :(得分:0)
好的,我发现了我的错误,我必须在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);
}