ListView的嵌套,ExpandableListActivity和SimpleExpandableListAdapter
来源:互联网 发布:中标麒麟数据库 编辑:程序博客网 时间:2024/05/16 11:25
如图实现ListView的嵌套
第一步:在布局文件当中声明ExpandableListActivity控件:
main.xml
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:paddingBottom="@dimen/activity_vertical_margin" android:paddingLeft="@dimen/activity_horizontal_margin" android:paddingRight="@dimen/activity_horizontal_margin" android:paddingTop="@dimen/activity_vertical_margin" tools:context=".MainActivity" > <ExpandableListView android:id="@+id/android:list" android:layout_width="fill_parent" android:layout_height="fill_parent" android:drawSelectorOnTop="false" > </ExpandableListView> <TextView android:id="@+id/android:empty" android:layout_width="fill_parent" android:layout_height="fill_parent" android:text="No data" /></RelativeLayout>第二步:在布局文件当中声明group的样式:
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="fill_parent" android:layout_height="fill_parent" android:paddingBottom="10px" android:paddingLeft="60px" android:paddingTop="10px" android:text="No data" android:textSize="26sp" /></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="fill_parent" android:layout_height="fill_parent" android:paddingBottom="50px" android:paddingLeft="50px" android:paddingTop="50px" android:text="No data" android:textSize="20sp" /></LinearLayout>
第四步:创建一个Actuvity,继承ExpandableListActivity:
public class MainActivity extends ExpandableListActivity {@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);}
第五步:在MainActivity.java里写入监听器,写入ListView
package com.example.acti_02_03_expandable;import java.util.ArrayList;import java.util.HashMap;import java.util.List;import java.util.Map;import android.os.Bundle;import android.os.Handler;import android.R.string;import android.app.Activity;import android.app.ExpandableListActivity;import android.view.Menu;import android.widget.SimpleAdapter;import android.widget.SimpleExpandableListAdapter;public class MainActivity extends ExpandableListActivity {@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);// 定义一个List,该List对象为一级条目提供数据List<Map<String, String>> groups = new ArrayList<Map<String, String>>();Map<String, String> groups1 = new HashMap<String, String>();groups1.put("group", "group1");Map<String, String> groups2 = new HashMap<String, String>();groups2.put("group", "group2");groups.add(groups1);groups.add(groups2);// 定义一个List,该List对象为第一个一级条目提供二级条目的数据List<Map<String, String>> chlidList1 = new ArrayList<Map<String, String>>();Map<String, String> chlid1Data1 = new HashMap<String, String>();chlid1Data1.put("child", "child1Data1");Map<String, String> chlid1Data2 = new HashMap<String, String>();chlid1Data2.put("child", "child1Data2");chlidList1.add(chlid1Data1);chlidList1.add(chlid1Data2);List<Map<String, String>> chlidList2 = new ArrayList<Map<String, String>>();Map<String, String> chlid2Data1 = new HashMap<String, String>();chlid2Data1.put("child", "child2Data1");Map<String, String> chlid2Data2 = new HashMap<String, String>();chlid2Data2.put("child", "child1Data2");chlidList2.add(chlid2Data1);chlidList2.add(chlid2Data2);List<List<Map<String, String>>> childs = new ArrayList<List<Map<String, String>>>();childs.add(chlidList1);childs.add(chlidList2);// SimpleExpandableListAdapter(context, groupData, expandedGroupLayout,// collapsedGroupLayout, groupFrom, groupTo, childData, childLayout,// childFrom, childTo)//1.context//2.一级条目的数据//3.用来设置一级条目样式的布局文件//4.指定一级条目的key//5.指定一级条目数据显示控件的id//6.指定二级条目的数据//7.用来设置二级条目样式的布局文件//8.指定二级条目数据的key//9.指定二级条目数据显示控件的idSimpleExpandableListAdapter sela = 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 });setListAdapter(sela);}@Overridepublic boolean onCreateOptionsMenu(Menu menu) {// Inflate the menu; this adds items to the action bar if it is present.getMenuInflater().inflate(R.menu.main, menu);return true;}}
0 0
- ListView的嵌套,ExpandableListActivity和SimpleExpandableListAdapter
- ExpandableListActivity的使用和SimpleExpandableListAdapter的使用
- android学习--ExpandableListActivity和SimpleExpandableListAdapter的使用
- android示例之ExpandableListActivity和SimpleExpandableListAdapter
- ExpandableListActivity的学习和使用
- listActivity和ExpandableListActivity的用法
- ScrollView和ListView的嵌套
- Android学习笔记(十八)——ExpandableListActivity与SimpleExpandableListAdapter
- Android学习笔记——ExpandableListActivity与SimpleExpandableListAdapter
- listActivity和ExpandableListActivity的简单用法
- listActivity和ExpandableListActivity的简单用法
- listActivity和ExpandableListActivity的简单用法
- SimpleExpandableListAdapter
- SimpleExpandableListAdapter
- SimpleExpandableListAdapter
- ScrollView 和 ListView ,GridView的嵌套问题
- listView 和 scrollView嵌套的问题
- ScrollView和listView嵌套出现的问题
- 设计模式-工厂模式
- android自动生成.apk文件
- 有关可变形部件模型(Deformable Part Model)的一些说明
- 冬日透出暖意
- servlet工作流程
- ListView的嵌套,ExpandableListActivity和SimpleExpandableListAdapter
- poj 1159 Palindrome(最长公共子序列 + 滚动数组)
- 解决Python代码编码问题 SyntaxError: Non-UTF-8 code starting with '\xc1'
- 感谢自己拥有的一切
- sdfsdjflksadjflkjasdfef
- 1.bird 鸟;2.fish 鱼
- [Ant自动打包] 修改渠道打包
- 在公众视野里
- STM32 中断向量表的位置 、重定向