android 多级分组,android 二级菜单(类似QQ分组)
注意点:1)适配器BaseExpandableListAdapter
2)数据源(数组、集合都行)(重点)
/**
* Created by mb on 2014/11/18.
* 二级菜单适配器
*/
public class MyExpandableListAdapter extends BaseExpandableListAdapter {
private Context context;
List groups;//String [] groups = {};
List> childs; //String [] [] childs = {{},{},};
ViewHolder holder;
public MyExpandableListAdapter(Context context, List groups, List> childs) {
this.context = context;
this.groups = groups;
this.childs = childs;
}
@Override
public int getGroupCount() {
return groups.size();
}
@Override
public int getChildrenCount(int groupPosition) {
return childs.get(groupPosition).size();
}
@Override
public Object getGroup(int groupPosition) {
return groups.get(groupPosition);
}
@Override
public Object getChild(int groupPosition, int childPosition) {
return childs.get(groupPosition).get(childPosition);
}
@Override
public long getGroupId(int groupPosition) {
return groupPosition;
}
@Override
public long getChildId(int groupPosition, int childPosition) {
return childPosition;
}
@Override
public boolean hasStableIds() {
return true;
}
@Override
public View getGroupView(int groupPosition, boolean isExpanded, View convertView1, ViewGroup parent) {
//自定义组视图
return convertView1;
}
@Override
public View getChildView(int groupPosition, int childPosition, boolean isLastChild, View convertView, ViewGroup parent) {
//自定义孩子视图
return convertView;
}
@Override
public boolean isChildSelectable(int groupPosition, int childPosition) {
return true;
}
public static class ViewHolder {
//控件
}
}
事件监听:
myExpandableListAdapter = new MyExpandableListAdapter(context, groups, childs);
expandableListView.setAdapter(myExpandableListAdapter);
expandableListView.setOnGroupClickListener(new ExpandableListView.OnGroupClickListener() {
@Override
public boolean onGroupClick(ExpandableListView parent, View v, int groupPosition, long id) {
int count = myExpandableListAdapter.getChildrenCount(groupPosition);
if (count <= 0) {
activity.showCustomToast("...");
}
return false; // ---此处返回true 点击后不能展开组 具体原因知道的留言
}
});
expandableListView.setOnChildClickListener(new ExpandableListView.OnChildClickListener() {
@Override
public boolean onChildClick(ExpandableListView parent, View v, int groupPosition, int childPosition, long id) {
return false;
}
});
默认展开所有菜单:
for (int i = 0; i < myExpandableListAdapter.getGroupCount(); i++) {
expandableListView.expandGroup(i);
}
android 多级分组,android 二级菜单(类似QQ分组)相关推荐
- android RecyclerView一步步打造分组效果、类似QQ分组、折叠菜单、分组效果(一)
第二篇文章链接: android RecyclerView一步步打造分组效果.类似QQ分组.折叠菜单.分组效果(二) 效果图: 前言 之前看到这种效果如果用recyclerview来实现没有一点思路, ...
- android RecyclerView一步步打造分组效果、类似QQ分组、折叠菜单、分组效果(二)
第一篇链接: android RecyclerView一步步打造分组效果.类似QQ分组.折叠菜单.分组效果(一) 注!已更新代码! 上一篇写了分组效果的初步实现: 这一篇就继续增加分组折叠效果和基类的 ...
- Android 自定义RecycleView实现多级树(类似qq分组列表)
由于工作需要开发一个类似qq分组列表功能,所以就自定义RecycleView来实现功能 效果图: 自定义View: import java.util.ArrayList; import java.ut ...
- html仿qq分组,iOS 实现类似QQ分组样式的两种方式
思路 思路很简单,对模型数据操作或则控制界面显示 先看下json部分数据 "chapterDtoList": [{ "token": null, "i ...
- Android 使用BRVAH 实现二级菜单。类似QQ分组
首先配置什么的.点击这里 代码: 两个类,一个是一级的类,一个是二级的类 直接贴上 package com.mogujie.tt.ui.model;import com.chad.library.ad ...
- Android 实现仿QQ分组实现二级菜单展示
首先展示下要实现的效果 动态查看请看链接https://recordit.co/GHjVH9WMz6 1.首先要定义item,也就是二级展示的item child_item.xml <?xml ...
- JAVA开发Android聊天APP,实现了类似QQ、微信的即时通讯功能
视频学习地址 本内容接上篇文章 我的源码: 码云 github 大加有需要可以下载来参照一下. 文章目录 简介: 问题.报错 与视频中有差别的地方 视频的第十九节 视频的第38节,关于长按删除联系人, ...
- 关于expanded一级二级菜单数据的分组排序
最新再弄关于expandedlistview相关的东西,所以需求是需要对一级菜单根据时间排序,同时二级菜单也需要根据时间排序,距离现在最近的时间显示在最前面. 效果就是如下: --group2 -- ...
- Android聊天室背景,安卓实现类似QQ刚换聊天背景的功能
自己实现了一下,但对于一些手机一设置背景就出现闪退不知道为什么,大体思路就是获得用户选择的uri,然后如果屏幕分辨率小于图片的分辨率就对图片进行下处理,防止OOM.但现在不知道哪里还有问题 启动系统的 ...
最新文章
- Linux 下的hiredis的简单安装、测试*(转)
- 坚强生活(转)--To 小鱼,妹妹和傻女孩们
- MySQL高级配置(二)详细介绍
- Codeforces Round #732 (Div. 2) D. AquaMoon and Chess 组合数学 + 找规律
- 使用POI转换word doc文件
- 一步安装openssh的脚本
- python堆结构heapq
- linux查看都哪口状态,linux c 查看网口状态
- ROS:launch文件的语法规范
- 使用php+gmail 发送邮件
- FreeSwitch中的会议功能
- 开放源代码不得不知的一些事情
- Windows的文件目录管理策略
- python解决八数码问题_python解决八数码问题
- 微型计算机从外观上看可以分为,冯.诺依曼计算机 1.3 计算机系统的组成 计算机系统概述 EDVAC的3个特点:...
- Flash鼠绘马蹄莲教程
- EXCEL中空白单元格如何快速填充为0
- Cisco Visio Stencil 实体图标下载
- Excel一键创建班级成绩表模板的操作
- 【人工智能】大模型的发展历史
热门文章
- 在控制台中实现“单词竞猜”游戏 C# 猜词游戏
- 匈牙利算法——最大匹配问题详解
- python代码性能分析_Python 性能分析入门指南
- C++PrimerPlus学习——第十三章编程练习
- linux db2 权限管理,DB2五种管理权限
- 阿里云使用idea通过hdfs api来上传文件时出现could only be written to 0 of the 1 minReplication nodes.错误
- svn 无线服务器,远程svn服务器
- php与eCharts结合,23.安装php和echarts进行结合展示图表
- 深度技术win11旗舰稳定版v2021.07
- 新萝卜家园windows11 64位官网正版系统v2021.07