Android 筛选后ExpandableListView子顺序不正确
嘿,伙计们,这就是我如何在我的可扩展列表中添加内容的Android 筛选后ExpandableListView子顺序不正确,android,expandablelistview,android-filterable,Android,Expandablelistview,Android Filterable,嘿,伙计们,这就是我如何在我的可扩展列表中添加内容的 listDataHeader = new ArrayList(Arrays.asList("Afghanistan", "Albania", "Algeria", "Andorra", "Angola", "Anguilla", "Antigua and Barbuda", "
listDataHeader = new ArrayList(Arrays.asList("Afghanistan",
"Albania",
"Algeria",
"Andorra",
"Angola",
"Anguilla",
"Antigua and Barbuda",
"Argentina",
"Armenia",
"Aruba",`........`
listDataChild=新HashMap>()
有什么帮助吗?已解决:
设置getChild()和getChildrenCount()正确地解决了这个问题
public int getChildrenCount(int groupPosition) {
return this.filteredDatachild.get(this.filteredData.get(groupPosition))
.size();
}
public Object getChild(int groupPosition, int childPosititon) {
return this.filteredDatachild.get(this.filteredData.get(groupPosition))
.get(childPosititon);
}
创建新的子列表,如下所示:
for (int i = 0; i < count; i++) {
filterableString = list.get(i);
if (filterableString.toLowerCase().contains(filterString)) {
nlist.add(filterableString);
nchildlist.put(nlist.get(ii),originalDatachild.get(nlist.get(ii)));
ii++;
Log.d( "Child Items:", "Child index:" + ii);
}
for(int i=0;i
如果订单很重要,请使用LinkedHashMap
listDataChild.put(listDataHeader.get(0), Afghanistan);//Header,Child data
listDataChild.put(listDataHeader.get(1), Albania);
listDataChild.put(listDataHeader.get(2), Algeria);
listDataChild.put(listDataHeader.get(3), Andorra);
listDataChild.put(listDataHeader.get(4), Angola);
listDataChild.put(listDataHeader.get(5), Anguilla);
public int getChildrenCount(int groupPosition) {
return this.filteredDatachild.get(this.filteredData.get(groupPosition))
.size();
}
public Object getChild(int groupPosition, int childPosititon) {
return this.filteredDatachild.get(this.filteredData.get(groupPosition))
.get(childPosititon);
}
for (int i = 0; i < count; i++) {
filterableString = list.get(i);
if (filterableString.toLowerCase().contains(filterString)) {
nlist.add(filterableString);
nchildlist.put(nlist.get(ii),originalDatachild.get(nlist.get(ii)));
ii++;
Log.d( "Child Items:", "Child index:" + ii);
}