ExpandableListActivity的使用

所用到的布局文件

min.xml(ExpandableListActivity布局文件)

注意事项:

ExpandableListActivity的布局文件中必须包含一个ExpandableListView,并且id必须为="@id/android:list"。还可以包含一个id为empty的TextView,在ExpandableListActivity中没有数据的时候显示该控件的text值。

<LinearLayoutxmlns:android="http://schemas.android.com/apk/res/android"

android:orientation="vertical"

android:layout_width="fill_parent"

android:layout_height="fill_parent">

<ExpandableListView android:id="@id/android:list"

android:layout_width="fill_parent"

android:layout_height="fill_parent"

android:drawSelectorOnTop="false">

</ExpandableListView>

<TextView

android:id="@id/android:empty"

android:layout_width="fill_parent"

android:layout_height="fill_parent"

android:text="没有数据">

</TextView>

</LinearLayout>

group.xml(一级条目布局文件,样式外观可根据需要自由发挥)

<?xmlversion="1.0"encoding="utf-8"?>

<LinearLayout

xmlns:android="http://schemas.android.com/apk/res/android"

android:orientation="vertical"

android:layout_width="match_parent"

android:layout_height="match_parent">

<TextViewandroid:id="@+id/groupTo"

android:layout_width="fill_parent"

android:layout_height="fill_parent"

android:paddingLeft="60dip"

android:paddingTop="10dip"

android:paddingBottom="10dip"

android:text="NoDate"

android:textSize="20sp">

</TextView>

</LinearLayout>

child.xml(二级条目布局文件,样式外观可根据需要自由发挥)

<?xmlversion="1.0"encoding="utf-8"?>

<LinearLayout

xmlns:android="http://schemas.android.com/apk/res/android"

android:orientation="vertical"

android:layout_width="match_parent"

android:layout_height="match_parent">

<TextViewandroid:id="@+id/childTo"

android:layout_width="fill_parent"

android:layout_height="fill_parent"

android:paddingLeft="50dip"

android:paddingTop="5dip"

android:paddingBottom="5dip"

android:textSize="20sp"

android:text="NoDate">

</TextView>

</LinearLayout>

JAVA代码

packagecom.test;

importjava.util.ArrayList;

importjava.util.HashMap;

importjava.util.List;

importjava.util.Map;

importandroid.app.ExpandableListActivity;

importandroid.os.Bundle;

importandroid.widget.SimpleExpandableListAdapter;

publicclassSample_ExpandableListActivityActivityextendsExpandableListActivity{

@Override

publicvoidonCreate(BundlesavedInstanceState){

super.onCreate(savedInstanceState);

setContentView(R.layout.main);

//一级条目

List<Map<String,String>>groups=newArrayList<Map<String,String>>();

Map<String,String>group1=newHashMap<String,String>();

group1.put("group","第一组");

Map<String,String>group2=newHashMap<String,String>();

group2.put("group","第二组");

groups.add(group1);

groups.add(group2);

//二组条目

List<List<Map<String,String>>>childs=newArrayList<List<Map<String,String>>>();

//第一组二级科目数据

List<Map<String,String>>child1=newArrayList<Map<String,String>>();

Map<String,String>item1=newHashMap<String,String>();

item1.put("child","科目-1");

Map<String,String>item2=newHashMap<String,String>();

item2.put("child","科目-2");

child1.add(item1);

child1.add(item2);

//第二组二级科目数据

List<Map<String,String>>child2=newArrayList<Map<String,String>>();

Map<String,String>item3=newHashMap<String,String>();

item3.put("child","科目-3");

Map<String,String>item4=newHashMap<String,String>();

item4.put("child","科目-4");

Map<String,String>item5=newHashMap<String,String>();

item5.put("child","科目-5");

child2.add(item3);

child2.add(item4);

child2.add(item5);

childs.add(child1);

childs.add(child2);

//SimpleExpandableListAdapter构造函数参数

//1.content

//2.一级条目数据

//3.一级条目布局文件

//4.一级条目Key

//5.一级条目显示信息控件id

//6.二级条目数据

//7.二级条目布局文件

//8.二级条目Key

//9.二级条目显示信息控件id

SimpleExpandableListAdapteradapter=newSimpleExpandableListAdapter(this,groups,R.layout.group,

newString[]{"group"},newint[]{R.id.groupTo},childs,R.layout.child,newString[]{"child"},

newint[]{R.id.childTo});

setListAdapter(adapter);

}

}

转:http://blog.163.com/xygzx@126/blog/static/237809502011102010100331/

相关推荐