澳门太阳集团,太阳集团娱乐网址

    欢迎访问太阳集团娱乐网址~

  1. 加入收藏
  2. 设为主页
  3. 学校简介
北大青鸟

三分钟了解北大青鸟

×
  • 北大青鸟大数据课程
  • 北大青鸟网络工程师
  • 北大青鸟web设计专业
  • 北大青鸟PHP专业
  • 北大青鸟启蒙星课程

解析Android控件之ExpandableListView

责任编辑:太阳集团娱乐网址来源:太阳集团娱乐网址安卓技术教程发布时间:2012-10-17 09:50
导读:Android控件之ExpandableListView学习。

  <?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:layout_width="fill_parent"
android:layout_height="fill_parent"
android:id="@+id/group"
android:textSize="25sp"
android:paddingLeft="35px"
android:paddingTop="10px"
android:paddingRight="5px"
android:paddingBottom="10px"
android:text="No Data"/>
</LinearLayout>

  childs.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:layout_width="fill_parent"
android:layout_height="fill_parent"
android:id="@+id/child"
android:textSize="15sp"
android:paddingLeft="25px"
android:paddingTop="10px"
android:paddingRight="5px"
android:paddingBottom="10px"
android:text="No Data"/>
</LinearLayout>

  先,个布局文件main.xml是在主界面定义一个ExpandableListView ,在这里我们就要和在做ListView是的方法做下对比了,其实这个listView的显示类似。主要是用来显示ExpandableListView 下的数据。第二个布局文件是定义ExpandableListView 下的一级条目目录。在这里我只为一级条目目录添加一个textView控件。第三个布局文件是定义ExpandableListView 下的二级条目目录,和一级条目目录一样,布局文件里也只有一个TextView控件。

  Java代码:

  ExpandableActivity:

  package cn.yj3g.ExpandableListActivity;

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.view.View;
import android.widget.ExpandableListView;
import android.widget.SimpleExpandableListAdapter;

public class ExpandableActivity extends ExpandableListActivity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
// 创建一级条目
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<Map<String, String>> child1 = new ArrayList<Map<String, String>>();
//同样是在一级条目目录下创建两个对应的二级条目目录
Map<String, String> childdata1 = new HashMap<String, String>();
childdata1.put("child", "青花瓷");
Map<String, String> childdata2 = new HashMap<String, String>();
childdata2.put("child", "东风破");
child1.add(childdata1);
child1.add(childdata2);
//同上
List<Map<String, String>> child2 = new ArrayList<Map<String, String>>();
Map<String, String> childdata3 = new HashMap<String, String>();
childdata3.put("child", "青花瓷.lrc");
Map<String, String> childdata4 = new HashMap<String, String>();
childdata4.put("child", "东风破.lrc");
child2.add(childdata3);
child2.add(childdata4);
// 将二级条目放在一个集合里,供显示时使用
List<List<Map<String, String>>> childs = new ArrayList<List<Map<String, String>>>();
childs.add(child1);
childs.add(child2);

SimpleExpandableListAdapter adapter = new SimpleExpandableListAdapter(
this, groups, R.layout.groups, new String[] { "group" },
new int[] { R.id.group }, childs, R.layout.child,
new String[] { "child" }, new int[] { R.id.child });
setListAdapter(adapter);

}

@Override
public boolean setSelectedChild(int groupPosition, int childPosition,
boolean shouldExpandGroup) {
//do something
return super.setSelectedChild(groupPosition, childPosition,
shouldExpandGroup);
}

@Override
public void setSelectedGroup(int groupPosition) {
//do something
super.setSelectedGroup(groupPosition);
}

@Override
public boolean onChildClick(ExpandableListView parent, View v,
int groupPosition, int childPosition, long id) {
//do something
return super.onChildClick(parent, v, groupPosition, childPosition, id);
}

}

  上面在显示ExpandableListView 是用的是SimpleExpandableListAdapter ,这里要传的参数比较多,大家在用时别一看到参数多就头疼,没事的,看注释你就知道各个参数的意思了。下面的三个重写方法是在显示 ExpandableListView 是调用的,具体的用法就要根据需求来确定了。

 

 

本文标题:解析Android控件之ExpandableListView,责任编辑:太阳集团娱乐网址,来源:武汉宏鹏,于2012年10月17日09时50分发布于太阳集团娱乐网址。澳门太阳集团宏鹏鲁广校区,是北大青鸟武汉电脑学校,专业IT计算机培训,拥有软件/网络/安卓/Web前端/Java课程.北大青鸟地址:光谷广场鲁巷数码港.电话:027-87807717

专业老师指导

专业老师指导

赵老师

从事IT教育培训十年有余,致力于帮助广大学子找到适合自己的专业。

培训咨询客服

培训咨询客服

陈老师

IT培训专业客服,用自己的真诚解决了无数学子的困惑。

本文地址:
文章标题:
  • 北大青鸟Java软件开发
  • 北大青鸟UI设计课程_零基础可学
  • 北大青鸟动漫设计_武汉设计学校
  • 北大青鸟数字艺术_武汉电脑学校
在线咨询
×
在线咨询更多问题

如您有任何疑问
在线咨询随时为您解答或拨打咨询热线:17740513250

×
  • 姓 名*
  • 手 机*
  • QQ号/微信号
  • 所报学科 *
  • 其他备注
  • 温馨提示:请保持手机畅通,咨询老师将为您提供专属的一对一报名服务。