如何在android studio中以可扩展的listview显示数据?

如何在android studio中以可扩展的listview显示数据?,android,expandablelistview,Android,Expandablelistview,我想从服务器获取数据,需要在可扩展列表视图中显示数据。我正在使用AsyncTask从服务器获取数据。但我不知道如何为这种情况设置适配器以及如何使用它。我是android新手。请帮我做这件事。首先,在父列表中我想显示类别,在子列表中我想显示子类别。父数据和子数据都在服务器上。您需要将列表添加到ArrayList中,然后设置为arrayAdapter,如下所示。。添加(i)ArrayAdapter ArrayAdapter=新的ArrayAdapter(这是android.R.layout.simp

我想从服务器获取数据,需要在可扩展列表视图中显示数据。我正在使用AsyncTask从服务器获取数据。但我不知道如何为这种情况设置适配器以及如何使用它。我是android新手。请帮我做这件事。首先,在父列表中我想显示类别,在子列表中我想显示子类别。父数据和子数据都在服务器上。

您需要将列表添加到ArrayList中,然后设置为arrayAdapter,如下所示。。添加(i)ArrayAdapter ArrayAdapter=新的ArrayAdapter(这是android.R.layout.simple\u list\u item\u 1,arrayList)

您需要使用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);
}
private void prepareListData(){
ArrayList listDataHeader=新的ArrayList();
HashMap listDataChild=新HashMap();
//添加子数据
添加(“前50名”);
添加(“现在显示”);
添加(“即将推出…”);
//添加子数据
List top250=新的ArrayList();
top250.添加(“肖申克的救赎”);
添加(“教父”);
top250.添加(“教父:第二部分”);
top250.添加(“低俗小说”);
添加(“好、坏、丑”);
添加(“黑暗骑士”);
添加(“12个愤怒的男人”);
List nowShowing=新建ArrayList();
现在显示。添加(“变戏法”);
添加(“卑鄙的我2”);
现在显示。添加(“Turbo”);
现在显示。添加(“成年人2”);
现在显示。添加(“红色2”);
现在显示。添加(“狼獾”);
List comingSoon=新建ArrayList();
很快就来。添加(“2支枪”);
很快就来。添加(“蓝精灵2”);
即将到来。添加(“现在的壮观”);
即将到来。添加(“峡谷”);
即将出版。添加(“欧罗巴报告”);
listDataChild.put(listDataHeader.get(0),top250);//头,子数据
listDataChild.put(listDataHeader.get(1),现在显示);
listDataChild.put(listDataHeader.get(2),即将出现);
}
这是您通常向hashmap添加数据的方式,因此您可以根据来自服务器的数据进行调整