开发使用到的数据统计时可以用分组的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相关推荐

  1. 027 Android 可扩展的listview:ExpandableListView的使用案例

    1.ExpandableListView简介 ExpandableListView是一种用于垂直滚动展示两级列表的视图,和 ListView 的不同之处就是它可以展示两级列表,分组可以单独展开显示子选 ...

  2. android 嵌套分组拖动_Android ExpandableListView双层嵌套实现三级树形菜单

    在Android开发中,列表可以说是最常见的了,一般都是使用ListView,当涉及到二维数组时,更多的使用到ExpandableListView,然而当数据结构比较复杂时,就需要使用三级菜单或者更多 ...

  3. 高级控件之分组列表视图(ExpandableListView)

    一.ExpandableListView的基础知识 和ListView不同的是它是一个两级的滚动列表视图,每一个组可以展开,显示一些子项,类似于 QQ列表,这些项目来至于ExpandableListA ...

  4. Android 仿QQ好友分组列表、ExpandableListView的使用详解

    ListView只能显示一级列表,如果我们需要像QQ好友列表的那样的效果,就需要用到ExpandableListView,入门新手可能对该控件不是很熟悉,下面就详解一下基本用法,其实跟ListView ...

  5. android 实现QQ好友列表(扩展listview:ExpandableListView)

    在某些android开发群里,看到有些新手问怎么实现QQ好友列表,其实网上一搜挺多的.接触Android,也才一年的时间,大部分时间花在工作上(解bug...),界面上开发很少参与.自己维护的系统应用 ...

  6. 分组显示的ListView分页加载数据

    参考:  http://www.cnblogs.com/qianxudetianxia/archive/2011/06/07/2074326.html 分组的ListView的拖拽  http://w ...

  7. Android学习小Demo(12)TodoList实现ListView的分组实现

    很多情况下, 我们想要ListView上面展示的东西是可以分组的,比如联系人列表,国家列表啊,这样看起来数据的展现比较有层次感,而且也有助于我们快速定位到某一个具体的条目上,具体效果请看下图: 这是前 ...

  8. ListView的分组实现

    利用StickyListHeaders来实现ListView的分组实现 分类: Android Demo 2014-03-08 17:37 244人阅读 评论(1) 收藏 举报 StickyListH ...

  9. 按标题分组显示的ListView

    最近项目中需要做一个按标题分组的ListView,要实现的效果如下图 标题是月份,在按月份的数据是改月份的账单数据.开始想的就是在列表的某个位置插入另一个布局,其他的地方和普通的ListView一样. ...

  10. ExpandableListView详解

    文章目录 效果图 ExpandableListView的简介与使用 去掉ExpandableListView的箭头以及自定义Indicator 解决setOnChildClickListener失效问 ...

最新文章

  1. Go环境搭建、Sublime Text 3 安装Go语言相关插件gosublime
  2. ORACLE安装参数修改
  3. 如何解决普通用户使用sudo找不到命令
  4. babyos (三)——利用BIOS INT 0x13读取软盘
  5. 互斥信号量的删除与状态查询
  6. 通过分区在Kafka中实现订单保证人
  7. 前端学习(3010):vue+element今日头条管理--回顾
  8. 为Spring Cloud Ribbon配置请求重试(Camden.SR2+)
  9. python的一些基础小结总结
  10. 4. 卷2(进程间通信)---管道和FIFO
  11. access工资明细表_Access工资管理系统
  12. JEB动态调试与篡改攻防世界Ph0en1x-100
  13. 服务器固态硬盘跟机械硬盘之间差别是什么?
  14. MySql 笔记(五)InnoDB引擎页分裂与页合并的原理
  15. 《和码中文》第一册词组(共25课)
  16. python 爬虫 第一周:学会爬取网页信息
  17. java数组可以包含对象吗_数组可以包含对象类型的元素吗_对象数组
  18. 【多项式】CQBZOJ 3773 多项式计算五合一
  19. 【渝粤教育】21秋期末考试国际私法10216k1
  20. U盘启动盘维护工具 晨枫MaxDOS+WinPE+GHOST常用版本

热门文章

  1. nmap +shell脚本实现内网端口巡检
  2. ReactMotion Demo8 分析
  3. Qlikview Session Recovery
  4. jersey restful服务框架
  5. 防火墙配置文件iptables详解
  6. java程序如何执行jar包_java程序如何打包成可执行jar包?
  7. css工程师技巧,web前端工程师必须掌握的技巧–CSS Sprites技术(附基础操作教程)...
  8. 蓝桥杯试题开灯游戏c语言,[蓝桥杯][算法提高VIP]开灯游戏 (C++代码)
  9. springboot 打印slf4_SpringBoot打印请求体与响应体
  10. git 生成多个patch_git生成Patch和打Patch