如何在android studio中的expandable listview中显示数据?

时间:2017-04-10 10:42:04

标签: android expandablelistview

我想从服务器获取数据并需要在可扩展列表视图中显示它。我正在使用AsyncTask从服务器获取数据。但我很困惑如何为这种情况设置适配器以及如何使用它。我是android新手。请帮我解决这个问题。首先,在父列表中我想显示类别,在子列表中我想显示子类别。父数据和子数据都在服务器上。

2 个答案:

答案 0 :(得分:0)

你需要将你的列表添加到ArrayList中,然后像这样设置为arrayAdapter .. arrayList.add(i)ArrayAdapter arrayAdapter = new ArrayAdapter(this,android.R.layout.simple_list_item_1,arrayList);

答案 1 :(得分:0)

你需要使用hashMap。喜欢这个

private void prepareListData() {
ArrayList<String> listDataHeader = new ArrayList<String>();
HashMap<String, List<String>> listDataChild = new HashMap<String, List<String>>();

// Adding child data
listDataHeader.add("Top 50");
listDataHeader.add("Now Showing");
listDataHeader.add("Coming Soon..");

// Adding child data
List<String> top250 = new ArrayList<String>();
top250.add("The Shawshank Redemption");
top250.add("The Godfather");
top250.add("The Godfather: Part II");
top250.add("Pulp Fiction");
top250.add("The Good, the Bad and the Ugly");
top250.add("The Dark Knight");
top250.add("12 Angry Men");

List<String> nowShowing = new ArrayList<String>();
nowShowing.add("The Conjuring");
nowShowing.add("Despicable Me 2");
nowShowing.add("Turbo");
nowShowing.add("Grown Ups 2");
nowShowing.add("Red 2");
nowShowing.add("The Wolverine");

List<String> comingSoon = new ArrayList<String>();
comingSoon.add("2 Guns");
comingSoon.add("The Smurfs 2");
comingSoon.add("The Spectacular Now");
comingSoon.add("The Canyons");
comingSoon.add("Europa Report");

listDataChild.put(listDataHeader.get(0), top250); // Header, Child data
listDataChild.put(listDataHeader.get(1), nowShowing);
listDataChild.put(listDataHeader.get(2), comingSoon);
}

这是您通常将数据添加到hashmap的方式,因此您可以根据来自服务器的数据进行调整。