ExpandableListActivity使用
使用方法(可以和ListActivity进行对比)
创建一个Activity类继承ExpandableListActvity
三个layout
主布局 (注意这里2个id都是android内置的 不是+id)
包含<ExpandableListView> 注意其中android:id="@id/android:list" 还有一个android:drawSelectorOnTop="false"(选中时是否遮盖文字)
<TextView android:id="@id/android:empty"> 当无数据时
一级目录布局
二级目录布局(条目item样式)
创建Adapter
将simpleExpandableListAdapter对象设置给当前ExpandableListActivity
setListAdapter(adapter);
SimpleExpandableListAdapter使用
为ExpandableListActivity提供数据
//定义List 为一级条目提供数据
List<Map<String, String>> groups=new ArrayList<Map<String, String>>();
需要几个条目 生成几个Map对象
Map<String, String> m1=new HashMap<String, String>();
m1.put(group,Group1);
m2.put(group,Group2);
groups.add(m1);
groups.add(m2);
//定义List 设置二级子条目 一个子条目一个List 一个项 一个Map
方法同上 建List(child1 child2)和Map(child:child1Data1;child:child1Data2)
//定义一个List 存储所有二级条目数据
*List<List<Map<String, String>>> childs = new ArrayListM<List<Map<String, String>>>();
childs.add(child1);
childs.add(child2);
//生成一个SimpleExpandableListAdapter对象
new SimpleExpandableListAdapter(...);
参数包括
(context上下文对象,一级条目List对象,一级条目布局,
new String[]{"groups"})指定一级条目数据的key,new int[]{R.id.groupTo}指定一级条目数据显示的控件id,
二级条目的数据childs,二级条目布局,二级条目数据key(child),二级条目控件id}
最终目录结构
Group1
child1Data1
child1Data2
Group2
child2Data
分享到:
相关推荐
本笔记集合了"Mars Android视频教程"的主要知识点,旨在帮助学习者回顾和巩固课程中的核心概念。以下是根据文件名整理出的各章节内容详解: 1. **Animations.doc** - 动画是Android应用中提升用户体验的关键元素。...
`ExpandableListActivity`是Android开发中的一个关键组件,它属于`ListView`的扩展,能够显示可折叠的子列表项,使得用户界面更加有层次感和交互性。在这个主题下,我们将深入探讨`ExpandableListActivity`的工作...
在Android开发中,`ExpandableListActivity`是一个用于展示可扩展列表的特殊活动。这个类是基于`ListView`的,但提供了更复杂的功能,允许用户显示分组数据,每个分组下还可以有多个子项。在给定的...
### ExpandableListActivity与SimpleExpandableListAdapter的基本使用详解 在Android开发中,当我们的应用需要显示具有层次结构的数据时,例如家庭成员、公司部门结构等,普通的`ListActivity`就显得力不从心了。这...
PreferenceActivity和ExpandableListActivity的使用,详细了解请移步:http://blog.csdn.net/zxc514257857/article/details/77773001
本篇笔记将深入探讨如何使用ExpandableListView,以及如何用HashMap作为数据源。 首先,ExpandableListView的核心在于它的数据模型,它由两部分组成:Groups(父项)和Childrens(子项)。每个Group可以包含多个...
- **ExpandableListActivity**: 显示可扩展列表的Activity。 - **SeekBar**: 调整数值的滑动条。 - **RatingBar**: 显示评分或等级的组件。 - **Handler**: 处理消息和运行线程的任务调度器。 - **SQLite**: 内置的...
### Android 安卓笔记知识点详解 #### Android—基础 ##### 基础—概念 - **控件类之父**:`View`是所有控件的基类,无论是简单的按钮还是复杂的列表视图,都是从这个类派生出来的。 - **基准线**:在英文书写中,...
import android.app.ExpandableListActivity; import android.os.Bundle; import android.provider.Contacts.People; import android.util.Log; import android.view.ContextMenu; import android.view.Gravity; ...
Android控件下拉框,单选按钮,复选框,自动补全,日期控件(支持显示格式:年月,年月日,月日),LauncherActivity的使用,ExpandableListActivity实现二级下拉列表,并且在列表项右边加自定义的图片,实现只展开一个菜单的功能...
(2)第二种方法则是创建一个Activity继承自ExpandableListActivity,而后通过getExpandableListView()方法可获得一个ExpandableListView对象。 第二种方法仅适用于一个页面中只有一个ExpandableListView的情况。...
首先,`ActivityMain`继承自`ExpandableListActivity`,这是一个专门为`ExpandableListView`定制的Activity基类,它简化了扩展列表视图的集成。在`onCreate`方法中,我们设置Activity的标题,并创建了一个`...
在`ExpandableListActivity.java`或类似的文件中,你需要创建一个自定义的Adapter类,继承自`BaseExpandableListAdapter`,并实现其方法如`getGroupCount()`、`getChildrenCount(int groupPosition)`、`getGroup(int...
账目被分为层次结构,即父节点(如“食品”)和子节点(如“餐饮”),这可以通过ExpandableListActivity实现。 在账目选择过程中,用户可以选择已存在的账目,或者如果需要新账目,可以进入账目管理界面进行添加或...
在Android中,我们可以使用`ExpandableListActivity`或者普通的`Activity`配合`ExpandableListView`进行布局。数据通常由`ExpandableListAdapter`管理,这个适配器需要实现`BaseExpandableListAdapter`接口。 在...
由于`ExpandableListView`需要特定的上下文,因此通常你的Activity需要继承自`ExpandableListActivity`: ```java import android.app.ExpandableListActivity; import android.os.Bundle; public class ...
`ExpandableListView`通常与`ExpandableListActivity`一起使用,就像`ListActivity`与`ListView`的关系一样。 首先,我们需要创建一个包含`ExpandableListView`的布局。在`main.xml`中,你可以看到以下代码: ```...
这里我们创建了一个名为 `ContactsActivity` 的 `ExpandableListActivity` 子类。在 `onCreate` 方法中,我们设置了无标题、加载布局、设置背景,并初始化数据。 ```java public class ContactsActivity extends ...
在我们的示例代码中,我们创建了一个 ActivityMain 类,该类继承自 ExpandableListActivity,并实现了 onCreate()、onCreateContextMenu() 和 onContextItemSelected() 等方法。这些方法负责初始化列表控件、创建上...
接下来是关键的Java代码,通常继承自`ExpandableListActivity`或者自定义的`BaseExpandableListAdapter`。这里,`ExpandActivity`类负责设置`ExpandableListView`的数据源和适配器。`onCreate`方法是初始化的关键点...