我想从服务器获取数据并需要在可扩展列表视图中显示它。我正在使用AsyncTask从服务器获取数据。但我很困惑如何为这种情况设置适配器以及如何使用它。我是android新手。请帮我解决这个问题。首先,在父列表中我想显示类别,在子列表中我想显示子类别。父数据和子数据都在服务器上。
答案 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的方式,因此您可以根据来自服务器的数据进行调整。