Android关于自定义ExpandableListView样式

Android关于自定义ExpandableListView样式

 

创建项目:ExpandableListView

运行项目效果:

                                      

布局文件

main.xml


	
	

 

第一级条目布局
group.xml

 



    


第二级条目布局

child.xml




    


 

在drawable-mdpi中定义my_expander_group.xml

 



    


 

 

 

MainActivity.java

package org.wwj.view;

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 MainActivity extends ExpandableListActivity {
	
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        
        //定义一个List,该List对象为一级条目提供数据
        List> groups = new ArrayList>();
        Map group1 = new HashMap();
        group1.put("group", "第一组");
        Map group2 = new HashMap();
        group2.put("group", "第二组");
        groups.add(group1);
        groups.add(group2);
        
      //定义一个List,该List对象为第一个一级条目提供二级条目的数据
        List> child1 = new ArrayList>();
        Map child1data1 = new HashMap();
        child1data1.put("child", "第一条");
        child1.add(child1data1);
        Map child1data2 = new HashMap();
        child1data2.put("child", "第二条");
        child1.add(child1data2);
        
        //定义一个List,该List对象为第二个一级条目提供二级条目的数据
        List> child2 = new ArrayList>();
        Map child2data1 = new HashMap();
        child2data1.put("child", "第三条");
        child2.add(child2data1);
        Map child2data2 = new HashMap();
        child2data2.put("child", "第四条");
        child2.add(child2data2);
        
        
        //定义一个List,该List对象存储所有的二级条目的数据
        List>> childs = new ArrayList>>();
        childs.add(child1);
        childs.add(child2);
        
        
		//生成一个SimpleExpandableListAdapter对象
		//1.context
		//2.一级条目的数据
		//3.用来设置一级条目样式的布局文件
		//4.指定一级条目数据的key
		//5.指定一级条目数据显示控件的id
		//6.指定二级条目的数据
		//7.用来设置二级条目样式的布局文件
		//8.指定二级条目数据的key
		//9.指定二级条目数据显示控件的id
        SimpleExpandableListAdapter adapter = 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(adapter);
        
    }
}


 

 

 

 

 

你可能感兴趣的:(【Android开发学习之路】)