person_layout.xml部分

<ImageViewandroid:layout_width="wrap_content"android:layout_height="wrap_content"android:id="@+id/imageView"android:src="@mipmap/ic_launcher"android:layout_alignParentTop="true"android:layout_alignParentStart="true" /><TextViewandroid:layout_width="wrap_content"android:layout_height="wrap_content"android:text="昵称"android:textSize="20sp"android:id="@+id/textView_name"android:layout_alignParentTop="true"android:layout_toEndOf="@+id/imageView" /><TextViewandroid:layout_width="wrap_content"android:layout_height="wrap_content"android:text="说话"android:textSize="15sp"android:id="@+id/textView_say"android:layout_below="@+id/textView_name"android:layout_toEndOf="@+id/imageView" /><TextViewandroid:layout_width="wrap_content"android:layout_height="wrap_content"android:text="15:30"android:textSize="12sp"android:id="@+id/textView_time"android:layout_alignBottom="@+id/textView_say"android:layout_alignParentEnd="true" /></RelativeLayout>

————————————————————————————————————————————————————————————

group_layout.xml

 android:layout_width="match_parent"android:layout_height="match_parent"android:paddingLeft="30dp"><TextViewandroid:layout_width="wrap_content"android:layout_height="wrap_content"android:text="New Text"android:textSize="24sp"android:id="@+id/textView_group" /></LinearLayout>

MainActivity 布局

 <ExpandableListViewandroid:layout_width="match_parent"android:layout_height="match_parent"android:id="@+id/ex_listView"></ExpandableListView></RelativeLayout>

————————————————————————————————————————————————————————

Activity代码部分:

public class Main2Activity extendsAppCompatActivity {private ExpandableListView ex_ListView;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main2);ex_ListView = (ExpandableListView) findViewById(R.id.ex_listView);initData();ex_ListView.setAdapter(new DataAdapter());}String[] groups = {"英雄","美人"};List<List<Person>> childs = new ArrayList<>();public void initData(){List<Person> man = new ArrayList<>();List<Person> woman = new ArrayList<>();man.add(new Person("马哥","长点眼色儿...","09:10",R.mipmap.ic_launcher));man.add(new Person("照亮","今天下浮发您微信了","6:10",R.mipmap.ic_launcher));man.add(new Person("国栋","CC放个二联纸","13;10",R.mipmap.ic_launcher));man.add(new Person("三豆","带钢提成大家都有份啊","8:30",R.mipmap.ic_launcher));woman.add(new Person("CC","到点儿,吃啥呢?","11:55",R.mipmap.ic_launcher));woman.add(new Person("会会","我好像又瘦了","7:55",R.mipmap.ic_launcher));woman.add(new Person("勾神","周一不值班了!","8:30",R.mipmap.ic_launcher));woman.add(new Person("明星","张翰真帅!","23:30",R.mipmap.ic_launcher));childs.add(man);childs.add(woman);}private class  DataAdapter extendsBaseExpandableListAdapter{@Overridepublic int getGroupCount() {return groups.length;}@Overridepublic int getChildrenCount(int groupPosition) {return childs.get(groupPosition).size();}@Overridepublic Object getGroup(int groupPosition) {return groups[groupPosition];}@Overridepublic Object getChild(int groupPosition, int childPosition) {return childs.get(groupPosition).get(childPosition);}@Overridepublic long getGroupId(int groupPosition) {return groupPosition;}@Overridepublic long getChildId(int groupPosition, int childPosition) {return childPosition;}@Overridepublic boolean hasStableIds() {return false;}@Overridepublic View getGroupView(intgroupPosition, boolean isExpanded, View convertView, ViewGroup parent) {if(convertView==null){convertView =getLayoutInflater().inflate(R.layout.group_layout,null);}TextView textView_group =(TextView) convertView.findViewById(R.id.textView_group);textView_group.setText(groups[groupPosition]);return convertView;}@Overridepublic View getChildView(int groupPosition, int childPosition, booleanisLastChild, View convertView, ViewGroup parent) {if(convertView==null){convertView =getLayoutInflater().inflate(R.layout.person_layout,null);}ImageView imageView = (ImageView)convertView.findViewById(R.id.imageView);TextView textView_name = (TextView)convertView.findViewById(R.id.textView_name);TextView textView_say = (TextView)convertView.findViewById(R.id.textView_say);TextView textView_time = (TextView)convertView.findViewById(R.id.textView_time);List<Person> list = childs.get(groupPosition);Person p = list.get(childPosition);imageView.setImageResource(p.getIcon());textView_name.setText(p.getName());textView_say.setText(p.getSay());textView_time.setText(p.getTime());return convertView;}@Overridepublic boolean isChildSelectable(int groupPosition, int childPosition) {return true;}}}

ExpandableListView 模拟QQ好友分组 小实例相关推荐

  1. QQ好友分组模拟小程序

    QQ好友分组:一个好友组里有多个好友,一个好友只能选择一个组,这样好友组和好友之间就是一个一对多的关系.在此程序中封装一个好友类即Buddy类,一个组类即Group类.在Buddy类有有关好友的最基本 ...

  2. Android之实现QQ好友分组(ExpandableListView)

    在项目开发中,也许我们遇到过ListView中嵌套ListView,但谷歌建议我们最好别这样做,因此他们写好了一个ExpandableListView类,他继承ListView,可以实现ListVie ...

  3. expandableListview的使用,模仿qq好友分组点击收缩扩展

    我主要讲述的是用listview实现.模仿qq好友分组点击收缩.扩展功能 这个是对listview的拓展,用法比较相似,还是需要一个适配器 MainActivitypublic class MainA ...

  4. IOS 实现QQ好友分组展开关闭功能

    贴出核心代码  主要讲一下思路. - (void)nameBtnClick:(myButton *)sender { //获取当前点击的分组对应的section self.clickIndex = s ...

  5. Qt可拖拽排序表格(类似QQ好友分组排序)

    1,简介 为了最佳体验,一个拖拽行排序的功能研究了几个小时.效果参考的QQ好友分组的排序. 网上查了下好像没有人发布QT版类似的代码,于是自己动手 QQ好友分组排序效果: 2,效果 这是最终效果图,有 ...

  6. js实现qq好友分组

    qq好友分组 <style>ul,h2 {padding: 0;margin: 0;background-color: wheat;}li {list-style: none;}#list ...

  7. 模仿QQ好友分组风格

    <!DOCTYPE HTML> <html> <head> <meta charset="utf-8"/> <title> ...

  8. UITableView的折叠收缩和QQ好友分组效果

    可折叠展开的tableView,QQ好友分组列表 demo下载地址https://github.com/zhengwenming/ExpandTableView   原理分析:这个可以折叠的table ...

  9. Qt可拖拽排序表格(解决滚动条不兼容问题,类似QQ好友分组排序)

    原版链接 https://blog.csdn.net/dpsying/article/details/77206127 Qt可拖拽排序表格(类似QQ好友分组排序) 感谢博主无私分享 修改后,解决了滚动 ...

最新文章

  1. 刘永鑫:20分钟讲解微生物组数据分析与可视化实战
  2. dojo中的dojoConfig配置
  3. Android Studio提示No virtual method asBitmap()Lcom/bumptech/glide/RequestBuilder
  4. Makefile编写详解--项目开发
  5. Java 使用execute方法执行Sql语句
  6. shell基础(下) 特殊符号
  7. bzoj 1856: [Scoi2010]字符串(卡特兰数)
  8. Vue 之 下载本地资源文件
  9. 线性二次型调节器(LQR)原理详解
  10. 缓冲流、转换流、序列化流、装饰设计模式、comms-io工具包
  11. 数据的存储------计算机中常见数据类型的存储方式(C语言解析)
  12. office2003和office2007及office2010共存的方法
  13. oracle form视频,深入浅出Oracle 之Form开发
  14. 哪种耳机对耳朵听力伤害较小?不妨试试骨传导耳机
  15. idea 占用内存优化调整
  16. 启动redis出现闪退(已解决)
  17. linux mint 18.3 内核,Linux Mint 18.3 “Sylvia” KDE和Xfce版本正式发布
  18. Mandelbrot Set Julia Set -- 美丽分形 (C++, MFC + BCG + CxImage 实现)
  19. 虹科网络流量监控软件解决方案(二)-- 网络探针nProbe
  20. 【计算机视觉40例】案例38:驾驶员疲劳监测

热门文章

  1. 课程设计-商店管理系统(一)----前端页面的制作(一)
  2. 你为什么不愿意慢慢变富
  3. 第十一届蓝桥杯既约分数 Java
  4. Fragment的懒加载与生命周期详解
  5. QQ腾讯登录相关的HTTP协议
  6. 数字孪生应用白皮书(2020版)|PDF下载
  7. OpenCV项目实战——虚拟画笔
  8. 新手热门JAVA----随手笔记(上册)(有需要什么的可以私聊我qq1442828743)
  9. css基础--vertical-align
  10. 开启创客教育课程建设的实体空间