ExpandableListActivity的基本使用方法 ,SimpleExpandableListAdapter的基本使用方法

activity_main.xml:

    <ExpandableListView

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

       android:layout_width="fill_parent"

       android:layout_height="fill_parent"

       android:drawSelectorOnTop="false" />

    <TextView

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

       android:layout_width="fill_parent"

       android:layout_height="fill_parent"

        android:text="No data"/>

group.xml:

 <TextView

       android:id="@+id/groupTo"

       android:layout_width="fill_parent"

       android:layout_height="fill_parent"

       android:paddingLeft="60px"

       android:paddingTop="10px"

       android:paddingBottom="10px"

       android:textSize="26sp"

        android:text="No data"/>

child.xml:

    <TextView

       android:id="@+id/childTo"

       android:layout_width="fill_parent"

       android:layout_height="fill_parent"

       android:paddingLeft="50px"

       android:paddingTop="5px"

       android:paddingBottom="5px"

       android:textSize="20sp"

        android:text="No data"/>

MainActivity.java:

package leihu.expandablelistview;

import java.util.ArrayList;

import java.util.HashMap;

import java.util.List;

import java.util.Map;

import android.os.Bundle;

import android.app.ExpandableListActivity;

import android.widget.SimpleExpandableListAdapter;

public class MainActivity extends ExpandableListActivity{

 

    @Override

    protected void onCreate(Bundle savedInstanceState) {

       super.onCreate(savedInstanceState);

       setContentView(R.layout.activity_main);

       //定义一个List,该List对象为一级条目提供数据

       List<Map<String,String>>groups = new ArrayList<Map<String,String>>();

       Map<String,String> group1 = new HashMap<String,String>();

       group1.put("group", "group1");

       Map<String,String> group2 = new HashMap<String,String>();

       group2.put("group", "group2");

       groups.add(group1);

       groups.add(group2);

       //定义一个List,该List对象为第一个一级条目提供二级条目的数据

       List<Map<String,String>>child1= new ArrayList<Map<String,String>>();

       Map<String,String> child1Data1 = new HashMap<String,String>();

       child1Data1.put("child", "child1Data1");

       Map<String,String> child1Data2 = new HashMap<String,String>();

       child1Data2.put("child", "child1Data2");

       child1.add(child1Data1);

       child1.add(child1Data2);

       //定义一个List,该List对象为第二个一级条目提供二级条目的数据

       List<Map<String,String>>child2= new ArrayList<Map<String,String>>();

       Map<String,String> child2Data = new HashMap<String,String>();

       child2Data.put("child", "child2Data");

       child2.add(child2Data);

       //定义一个List,该List对象用来存储所有二级条目的数据

       List<List<Map<String,String>>>childs = new ArrayList<List<Map<String,String>>>();

       childs.add(child1);

       childs.add(child2);

       //生成一个simpleExpandableListAdapter对象

       //1.context

       //2.一级条目的数据

       //3.用来设置一级条目样式的布局文件

       //4.指定一级条目数据的key

       //5.指定一级条目数据显示控件的id

       //6.指定二级条目的数据

       //7.用来设置二级条目样式的布局文件

       //8.指定二级条目数据的key

       //9.指定二级条目数据显示控件的id

       SimpleExpandableListAdapter sela = new SimpleExpandableListAdapter(

              this, groups, R.layout.group, new String[]{"group"},

                new int[]{R.id.groupTo},childs,R.layout.child,

                new String[]{"child"},new int[]{R.id.childTo});

       //将SimpleExpandableListAdapter对象设置给当前的ExpandableListActivity

       setListAdapter(sela);

    }

}

  

原文地址:https://www.cnblogs.com/leihupqrst/p/3722980.html