ExpandableListView 模拟QQ好友分组 小实例
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好友分组 小实例相关推荐
- QQ好友分组模拟小程序
QQ好友分组:一个好友组里有多个好友,一个好友只能选择一个组,这样好友组和好友之间就是一个一对多的关系.在此程序中封装一个好友类即Buddy类,一个组类即Group类.在Buddy类有有关好友的最基本 ...
- Android之实现QQ好友分组(ExpandableListView)
在项目开发中,也许我们遇到过ListView中嵌套ListView,但谷歌建议我们最好别这样做,因此他们写好了一个ExpandableListView类,他继承ListView,可以实现ListVie ...
- expandableListview的使用,模仿qq好友分组点击收缩扩展
我主要讲述的是用listview实现.模仿qq好友分组点击收缩.扩展功能 这个是对listview的拓展,用法比较相似,还是需要一个适配器 MainActivitypublic class MainA ...
- IOS 实现QQ好友分组展开关闭功能
贴出核心代码 主要讲一下思路. - (void)nameBtnClick:(myButton *)sender { //获取当前点击的分组对应的section self.clickIndex = s ...
- Qt可拖拽排序表格(类似QQ好友分组排序)
1,简介 为了最佳体验,一个拖拽行排序的功能研究了几个小时.效果参考的QQ好友分组的排序. 网上查了下好像没有人发布QT版类似的代码,于是自己动手 QQ好友分组排序效果: 2,效果 这是最终效果图,有 ...
- js实现qq好友分组
qq好友分组 <style>ul,h2 {padding: 0;margin: 0;background-color: wheat;}li {list-style: none;}#list ...
- 模仿QQ好友分组风格
<!DOCTYPE HTML> <html> <head> <meta charset="utf-8"/> <title> ...
- UITableView的折叠收缩和QQ好友分组效果
可折叠展开的tableView,QQ好友分组列表 demo下载地址https://github.com/zhengwenming/ExpandTableView 原理分析:这个可以折叠的table ...
- Qt可拖拽排序表格(解决滚动条不兼容问题,类似QQ好友分组排序)
原版链接 https://blog.csdn.net/dpsying/article/details/77206127 Qt可拖拽排序表格(类似QQ好友分组排序) 感谢博主无私分享 修改后,解决了滚动 ...
最新文章
- 刘永鑫:20分钟讲解微生物组数据分析与可视化实战
- dojo中的dojoConfig配置
- Android Studio提示No virtual method asBitmap()Lcom/bumptech/glide/RequestBuilder
- Makefile编写详解--项目开发
- Java 使用execute方法执行Sql语句
- shell基础(下) 特殊符号
- bzoj 1856: [Scoi2010]字符串(卡特兰数)
- Vue 之 下载本地资源文件
- 线性二次型调节器(LQR)原理详解
- 缓冲流、转换流、序列化流、装饰设计模式、comms-io工具包
- 数据的存储------计算机中常见数据类型的存储方式(C语言解析)
- office2003和office2007及office2010共存的方法
- oracle form视频,深入浅出Oracle 之Form开发
- 哪种耳机对耳朵听力伤害较小?不妨试试骨传导耳机
- idea 占用内存优化调整
- 启动redis出现闪退(已解决)
- linux mint 18.3 内核,Linux Mint 18.3 “Sylvia” KDE和Xfce版本正式发布
- Mandelbrot Set Julia Set -- 美丽分形 (C++, MFC + BCG + CxImage 实现)
- 虹科网络流量监控软件解决方案(二)-- 网络探针nProbe
- 【计算机视觉40例】案例38:驾驶员疲劳监测