`
寻梦者
  • 浏览: 637894 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

Android之ExpandableListView控件

 
阅读更多

code:

 

 

public class ExpandableListViewActivity extends ExpandableListActivity {

	private static final String TAG = "ExpandableListViewActivity";


	/** Called when the activity is first created. */
	@Override
	public void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.main);

		List<Map<String, String>> groupData = new ArrayList<Map<String, String>>();
		Map<String, String> groupMap1 = new HashMap<String, String>();
		Map<String, String> groupMap2 = new HashMap<String, String>();
		groupMap1.put("parent", "家具");
		groupMap2.put("parent", "喜好");
		groupMap1.put("parent2", "家具2");
		groupData.add(groupMap1);
		groupData.add(groupMap2);

		List<List<Map<String, String>>> childData = new ArrayList<List<Map<String, String>>>();
		List<Map<String, String>> child1 = new ArrayList<Map<String, String>>();
		Map<String, String> childMap1 = new HashMap<String, String>();
		Map<String, String> childMap2 = new HashMap<String, String>();
		childMap1.put("child", "家具1111");
		childMap2.put("child", "喜好1111");
		child1.add(childMap1);
		child1.add(childMap2);
		
		List<Map<String, String>> child2 = new ArrayList<Map<String, String>>();
		Map<String, String> childMap3 = new HashMap<String, String>();
		Map<String, String> childMap4 = new HashMap<String, String>();
		childMap3.put("child", "家具2222");
		childMap4.put("child", "喜好2222");
		child2.add(childMap3);
		child2.add(childMap4);
		
		childData.add(child1);
		childData.add(child2);

		SimpleExpandableListAdapter adapter = new SimpleExpandableListAdapter(this, groupData, R.layout.group,
				new String[] { "parent","parent2" }, new int[] { R.id.group , R.id.group2}, childData, R.layout.child,
				new String[] { "child" }, new int[] { R.id.child });
	
		setListAdapter(adapter);
	}

	/**
	 * 默认选中的子目录
	 */
	@Override
	public boolean setSelectedChild(int groupPosition, int childPosition, boolean shouldExpandGroup) {
		Log.e(TAG, "--------setSelectedChild");
		return super.setSelectedChild(groupPosition, childPosition, shouldExpandGroup);
	}

	/**
	 * 默认选中的父类目录
	 */
	@Override
	public void setSelectedGroup(int groupPosition) {
		Log.e(TAG, "--------setSelectedGroup");
		super.setSelectedGroup(groupPosition);
	}

	/**
	 * 子目录被点击的时候
	 */
	@Override
	public boolean onChildClick(ExpandableListView parent, View v, int groupPosition, int childPosition, long id) {
		Log.e(TAG, "--------onChildClick");
		return super.onChildClick(parent, v, groupPosition, childPosition, id);
	}
}
 

 

layout:

 

main.xml

<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="wrap_content" android:text="@string/hello" />
	<ExpandableListView android:id="@id/android:list"
		android:layout_height="wrap_content" android:layout_width="match_parent"></ExpandableListView>
</LinearLayout>
 

  child.xml

 

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
	android:orientation="vertical" android:layout_width="match_parent"
	android:layout_height="match_parent">
	<TextView android:text="TextView" android:id="@+id/child"
		android:textSize="25sp" android:paddingLeft="35px" android:paddingTop="10px"
		android:paddingRight="5px" android:layout_width="wrap_content"
		android:layout_height="wrap_content"></TextView>
</LinearLayout>

 

group.xml

 

 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"

	android:orientation="vertical" android:layout_width="match_parent"
	android:layout_height="match_parent">
	<TextView android:text="TextView" android:id="@+id/group"
		android:textSize="25sp" android:paddingLeft="35px" android:paddingTop="10px"
		android:paddingRight="5px" android:paddingBottom="10px"
		android:layout_width="wrap_content" android:layout_height="wrap_content"></TextView>
<TextView android:text="TextView" android:id="@+id/group2"
		android:textSize="25sp" android:paddingLeft="35px" android:paddingTop="10px"
		android:paddingRight="5px" android:paddingBottom="10px"
		android:layout_width="wrap_content" android:layout_height="wrap_content"></TextView>

</LinearLayout>
 

效果图:


  • 大小: 18.8 KB
分享到:
评论

相关推荐

    Android之ExpandableListView控件的使用

    在Android开发中,`ExpandableListView`是一种常用的控件,它允许用户展开和折叠子项,从而实现层次化的数据展示。这种控件非常适合用来展示具有树状结构的数据,例如菜单、目录或者组织结构等。本篇文章将深入探讨...

    Android中ExpandableListView控件基本使用

    这篇博客“Android中ExpandableListView控件基本使用”可能详细介绍了如何在应用程序中有效地利用这个控件。虽然描述部分为空,但我们可以基于`ExpandableListView`的基本特性和常见用法进行深入探讨。 `...

    QML ListView实现树形二级列表(类似 android ExpandableListView控件)

    QML 中没有直接提供类似 android 的ExpandableListView二级列表控件,treeView,但是用 treeView 实在是有些不方便,并且达不到想要的效果,所以干脆用 ListView 来扩展一个。

    Android中ExpandableListView(原生控件)3----只展开一组

    在Android开发中,ExpandableListView是一个非常实用的原生控件,它允许用户展示...这个案例是一个很好的学习资源,可以帮助你掌握如何在实际项目中利用ExpandableListView控件,特别是处理一些特殊交互需求时的技巧。

    一个ExpandableListView的例子,实现多级菜单分类展示

    在Android开发中,`ExpandableListView`是一种常用的控件,它允许我们展示具有层次结构的数据,比如一个多级菜单分类的场景。在这个例子中,我们将会深入探讨如何利用`ExpandableListView`来创建一个可展开和折叠的...

    android中ExpandableListView嵌套GridView的使用

    `ExpandableListView`是Android提供的一个特殊的列表控件,它可以显示分组数据,每个分组下可以包含多个子项。用户可以通过点击分组头来展开或折叠该分组,方便查看和操作数据。 ### 2. GridView基本概念 `...

    Android的ExpandableListView+CheckBox全选

    在Android开发中,`ExpandableListView`是一种常用的控件,它允许用户展开和折叠分组,每个分组下可以包含多个子项。这种控件在显示层次结构数据时非常实用。`CheckBox`则是另一种常见的组件,用于让用户进行多选...

    Android中ExpandableListView示例

    在Android开发中,`ExpandableListView`是一种常用的控件,它允许用户展开和折叠分组,每个分组下可以包含多个子项。这种控件在显示层次结构数据时非常实用,比如目录结构、菜单或者组织架构等。本示例将详细介绍...

    【Android】ExpandableListView二级列表效果

    在Android开发中,`ExpandableListView`是一种常用的控件,用于展示可以展开和折叠的列表,通常用于构建具有层级结构的数据展示。这个控件非常适合处理像菜单、目录或树状结构的数据,例如“二级列表”场景。下面...

    Android 利用ExpandableListView实现城市列表

    在Android开发中,`ExpandableListView`是一种常用的控件,用于展示可以展开和折叠的列表,非常适合用来构建层级结构的数据,比如本例中的城市列表。`ExpandableListView`提供了更丰富的用户交互体验,使得复杂的...

    android ExpandableListView 四级树形目录

    在Android开发中,`ExpandableListView`是一种常用的控件,用于展示可以展开和折叠的列表,通常用于构建具有层级结构的数据展示,例如树形目录。在这个案例中,我们讨论的是如何利用`ExpandableListView`创建一个...

    ExpandableListView 展开列表控件

    `ExpandableListView`是Android平台中一个非常实用的列表控件,它允许用户展示层次结构的数据,例如,一个父项可以展开显示多个子项。在Android应用开发中,当需要展示具有嵌套关系的数据时,`ExpandableListView`是...

    android ExpandableListView三级菜单的使用

    在Android开发中,`ExpandableListView`是一种常用的控件,它可以展示可展开和折叠的列表,通常用于构建具有层级结构的数据展示。在这个“android ExpandableListView三级菜单的使用”示例中,我们将深入探讨如何...

    android之ExpandableListView(可展开的列表控件)小例子

    用了两个item实现 ExpandableListView。

    Android中ExpandableListView使用示例详解

    Android中ExpandableListView是Android中常用的控件之一,它可以显示层次结构的数据,例如树形结构的菜单等。本文将详细介绍Android中ExpandableListView的使用示例,包括如何创建ExpandableListView、如何自定义...

Global site tag (gtag.js) - Google Analytics