android-ExpandableList可展开的list

ExpandableList可展开的list

老规矩。右键取得显示不出来的图片地址,利用下载工具下载这个图片。后缀改为rar即可得到源代码项目。


package zhang.EspandableListView;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

import android.app.ExpandableListActivity;
import android.os.Bundle;
import android.widget.SimpleExpandableListAdapter;

public class Espandable extends ExpandableListActivity {	
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.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");
        groups.add(group1);
        
        Map<String,String> group2= new HashMap<String,String>();
        group2.put("group", "group2");
        groups.add(group2);
        
        //定义一个list 该list·对象为第一个一级条目提供二级条目的数据
        List<Map<String,String>> child1=new ArrayList<Map<String,String>>();
        Map<String,String> childDate11= new HashMap<String,String>();
        childDate11.put("child", "childDate11");
        child1.add(childDate11);
        Map<String,String> childDate12= new HashMap<String,String>();
        childDate12.put("child", "childDate12");
        child1.add(childDate12);
        
        //定义一个list 该list·对象为第二个一级条目提供二级条目的数据
        List<Map<String,String>> child2 =new ArrayList<Map<String,String>>();
        Map<String,String> childDate21 =new HashMap<String,String>();
        childDate21.put("child", "childDare21");
        child2.add(childDate21);
        Map<String,String> childDate22= new HashMap<String,String>();
        childDate22.put("child", "childDate22");
        child2.add(childDate22);
        
        // 定义一个list该list对象用来存储所有的二级条目的数据
        List<List<Map<String,String>>> childs = new ArrayList<List<Map<String,String>>>();
        childs.add(child1);
        childs.add(child2);
        //1生成一个simpleExpandableListAdapter
        //2context
        //3 一级条目的样式布局文件
        //4·指定一级条目数据的key
        //5指定一句条目数据显示控件的ID
        //6指定二级条目的数据
        //7指定二级条目的布局文件
        //8指定二级条目数据的key
        //9指定二级条目数据显示控件的ID
        SimpleExpandableListAdapter sela=  new SimpleExpandableListAdapter(
        		this,groups,R.layout.gruop,new String[]{"group"},
        		new int[]{R.id.gruopTo},childs,R.layout.child,
        		new String[]{"child"},new int []{R.id.childTo}
        );
        setListAdapter(sela);
        }
}

主页布局

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns: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_height="fill_parent" 
   android:layout_width="fill_parent"
   android:drawSelectorOnTop="false"
   ></ExpandableListView>
<TextView  
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 
    android:text="No Date"
    />
</LinearLayout>

一级list的布局  gruop。xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    >

<TextView  
	android:id="@+id/gruopTo"
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 
    android:text="No Data"
    android:paddingLeft="60px"
    android:paddingTop="10px"
    android:textSize="26sp"
    
    />
</LinearLayout>

子布局

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    >

<TextView  
	android:id="@+id/childTo"
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 
    android:text="No Data"
    android:paddingLeft="30px"
    android:paddingTop="5px"
    android:textSize="16sp"
    />
</LinearLayout>


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值