Android关于自定义ExpandableListView样式

分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow

也欢迎大家转载本篇文章。分享知识,造福人民,实现我们中华民族伟大复兴!

               

Android关于自定义ExpandableListView样式

 

创建项目:ExpandableListView

运行项目效果:

                                      

布局文件

main.xml

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"    xmlns:tools="http://schemas.android.com/tools"    android:id="@+id/LinearLayout1"    android:layout_width="match_parent"    android:layout_height="match_parent"    android:orientation="vertical" > <ExpandableListView      android:id="@id/android:list"     android:layout_width="match_parent"     android:layout_height="match_parent"     style="@style/myExpandableListView"     android:drawSelectorOnTop="false"     /> <TextView     android:id="@id/android:empty"     android:layout_width="match_parent"     android:layout_height="match_parent"     android:text="no data"     /></LinearLayout>

 

第一级条目布局
group.xml

 

<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"    android:layout_width="match_parent"    android:layout_height="match_parent"    android:orientation="vertical" >    <TextView         android:id="@+id/groupTo"        android:layout_width="match_parent"        android:layout_height="match_parent"        android:paddingLeft="40px"        android:paddingTop="3px"        android:paddingBottom="3px"        android:textSize="26sp"         android:text="No data"        /></LinearLayout>


第二级条目布局

child.xml

<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"    android:layout_width="match_parent"    android:layout_height="match_parent"    android:orientation="vertical" >    <TextView         android:id="@+id/childTo"        android:layout_width="match_parent"        android:layout_height="match_parent"        android:paddingLeft="50px"        android:paddingTop="5px"        android:paddingBottom="5px"        android:textSize="20sp"        android:text="No data"/></LinearLayout>


 

在drawable-mdpi中定义my_expander_group.xml

 

<?xml version="1.0" encoding="utf-8"?><selector xmlns:android="http://schemas.android.com/apk/res/android" >    <item android:drawable="@drawable/ic_picture" ></item></selector>


 

 

 

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<Map<String, String>> groups = new ArrayList<Map<String,String>>();        Map<String, String> group1 = new HashMap<String, String>();        group1.put("group", "第一组");        Map<String, String> group2 = new HashMap<String, String>();        group2.put("group", "第二组");        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", "第一条");        child1.add(child1data1);        Map<String, String> child1data2 = new HashMap<String, String>();        child1data2.put("child", "第二条");        child1.add(child1data2);                //定义一个List,该List对象为第二个一级条目提供二级条目的数据        List<Map<String, String>> child2 = new ArrayList<Map<String,String>>();        Map<String, String> child2data1 = new HashMap<String, String>();        child2data1.put("child", "第三条");        child2.add(child2data1);        Map<String, String> child2data2 = new HashMap<String, String>();        child2data2.put("child", "第四条");        child2.add(child2data2);                        //定义一个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 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);            }}


 

 

 

 

 

           

给我老师的人工智能教程打call!http://blog.csdn.net/jiangjunshow
这里写图片描述
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值