分组的listview——ExpandableListView
开发使用到的数据统计时可以用分组的ExpandablelistView
效果:
第一步.layout中定义ExpandablelistView,和定义普通的listview一样
<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="com.example.myexpandablelistview.MainActivity" ><ExpandableListViewandroid:id="@+id/mylistview"android:layout_width="match_parent"android:layout_height="match_parent" ></ExpandableListView></RelativeLayout>
第二步,设置组和子的数据源
第三步,自定义myadapter继承BaseExpandableListAdapter,复写方法
第四部,给listview设置adapter
package com.example.myexpandablelistview;import android.app.Activity; import android.graphics.Color; import android.os.Bundle; import android.view.Menu; import android.view.MenuItem; import android.view.View; import android.view.ViewGroup; import android.widget.BaseExpandableListAdapter; import android.widget.ExpandableListView; import android.widget.TextView;public class MainActivity extends Activity {private ExpandableListView mylistview;//组视图数据String[] parents={"三国人物","水浒人物","西游人物"};//子视图数据String[][] children={{"曹操","孙权","刘备"},{"宋江","吴用","高俅","林冲"},{"孙悟空","红孩儿","哪吒"}};@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);mylistview=(ExpandableListView) findViewById(R.id.mylistview);mylistview.setAdapter(new Myadapter());}//自定义adapterclass Myadapter extends BaseExpandableListAdapter{@Override//组数public int getGroupCount() {return parents.length;}@Override//每组的子数public int getChildrenCount(int groupPosition) {return children[groupPosition].length;}@Override//返回对应的组public Object getGroup(int groupPosition) {return parents[groupPosition];}@Override//返回对应的子public Object getChild(int groupPosition, int childPosition) {return children[groupPosition][childPosition];}@Override//返回组idpublic long getGroupId(int groupPosition) {return groupPosition;}@Override//返回子idpublic long getChildId(int groupPosition, int childPosition) {return childPosition;}@Overridepublic boolean hasStableIds() {return true;}@Override//返回组试图public View getGroupView(int groupPosition, boolean isExpanded,View convertView, ViewGroup parent) {TextView view;if(convertView!=null){view=(TextView) convertView;}else{view =new TextView(MainActivity.this);}view.setText(parents[groupPosition]);view.setBackgroundColor(Color.RED);return view;}@Override//返回子试图public View getChildView(int groupPosition, int childPosition,boolean isLastChild, View convertView, ViewGroup parent) {TextView view;if(convertView!=null){view=(TextView) convertView;}else{view =new TextView(MainActivity.this);}view.setText(children[groupPosition][childPosition]);return view;}@Overridepublic boolean isChildSelectable(int groupPosition, int childPosition) {return true;}}}
转载于:https://www.cnblogs.com/xurui1995/p/5678113.html
分组的listview——ExpandableListView相关推荐
- 027 Android 可扩展的listview:ExpandableListView的使用案例
1.ExpandableListView简介 ExpandableListView是一种用于垂直滚动展示两级列表的视图,和 ListView 的不同之处就是它可以展示两级列表,分组可以单独展开显示子选 ...
- android 嵌套分组拖动_Android ExpandableListView双层嵌套实现三级树形菜单
在Android开发中,列表可以说是最常见的了,一般都是使用ListView,当涉及到二维数组时,更多的使用到ExpandableListView,然而当数据结构比较复杂时,就需要使用三级菜单或者更多 ...
- 高级控件之分组列表视图(ExpandableListView)
一.ExpandableListView的基础知识 和ListView不同的是它是一个两级的滚动列表视图,每一个组可以展开,显示一些子项,类似于 QQ列表,这些项目来至于ExpandableListA ...
- Android 仿QQ好友分组列表、ExpandableListView的使用详解
ListView只能显示一级列表,如果我们需要像QQ好友列表的那样的效果,就需要用到ExpandableListView,入门新手可能对该控件不是很熟悉,下面就详解一下基本用法,其实跟ListView ...
- android 实现QQ好友列表(扩展listview:ExpandableListView)
在某些android开发群里,看到有些新手问怎么实现QQ好友列表,其实网上一搜挺多的.接触Android,也才一年的时间,大部分时间花在工作上(解bug...),界面上开发很少参与.自己维护的系统应用 ...
- 分组显示的ListView分页加载数据
参考: http://www.cnblogs.com/qianxudetianxia/archive/2011/06/07/2074326.html 分组的ListView的拖拽 http://w ...
- Android学习小Demo(12)TodoList实现ListView的分组实现
很多情况下, 我们想要ListView上面展示的东西是可以分组的,比如联系人列表,国家列表啊,这样看起来数据的展现比较有层次感,而且也有助于我们快速定位到某一个具体的条目上,具体效果请看下图: 这是前 ...
- ListView的分组实现
利用StickyListHeaders来实现ListView的分组实现 分类: Android Demo 2014-03-08 17:37 244人阅读 评论(1) 收藏 举报 StickyListH ...
- 按标题分组显示的ListView
最近项目中需要做一个按标题分组的ListView,要实现的效果如下图 标题是月份,在按月份的数据是改月份的账单数据.开始想的就是在列表的某个位置插入另一个布局,其他的地方和普通的ListView一样. ...
- ExpandableListView详解
文章目录 效果图 ExpandableListView的简介与使用 去掉ExpandableListView的箭头以及自定义Indicator 解决setOnChildClickListener失效问 ...
最新文章
- Go环境搭建、Sublime Text 3 安装Go语言相关插件gosublime
- ORACLE安装参数修改
- 如何解决普通用户使用sudo找不到命令
- babyos (三)——利用BIOS INT 0x13读取软盘
- 互斥信号量的删除与状态查询
- 通过分区在Kafka中实现订单保证人
- 前端学习(3010):vue+element今日头条管理--回顾
- 为Spring Cloud Ribbon配置请求重试(Camden.SR2+)
- python的一些基础小结总结
- 4. 卷2(进程间通信)---管道和FIFO
- access工资明细表_Access工资管理系统
- JEB动态调试与篡改攻防世界Ph0en1x-100
- 服务器固态硬盘跟机械硬盘之间差别是什么?
- MySql 笔记(五)InnoDB引擎页分裂与页合并的原理
- 《和码中文》第一册词组(共25课)
- python 爬虫 第一周:学会爬取网页信息
- java数组可以包含对象吗_数组可以包含对象类型的元素吗_对象数组
- 【多项式】CQBZOJ 3773 多项式计算五合一
- 【渝粤教育】21秋期末考试国际私法10216k1
- U盘启动盘维护工具 晨枫MaxDOS+WinPE+GHOST常用版本
热门文章
- nmap +shell脚本实现内网端口巡检
- ReactMotion Demo8 分析
- Qlikview Session Recovery
- jersey restful服务框架
- 防火墙配置文件iptables详解
- java程序如何执行jar包_java程序如何打包成可执行jar包?
- css工程师技巧,web前端工程师必须掌握的技巧–CSS Sprites技术(附基础操作教程)...
- 蓝桥杯试题开灯游戏c语言,[蓝桥杯][算法提高VIP]开灯游戏 (C++代码)
- springboot 打印slf4_SpringBoot打印请求体与响应体
- git 生成多个patch_git生成Patch和打Patch