首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Android ExpandableListView双层嵌套实现三级树形菜单

Android开发中,列表可以说是最常见的了,一般都是使用ListView,当涉及到二维数组时,更多的使用到ExpandableListView,然而当数据结构比较复杂时,就需要使用三级菜单或者更多级的菜单来显示...,这就让人比较头疼了,最近做的项目就涉及到了三级菜单,遇到了不少问题,虽然不够完美,但是基本需求实现了,在此记录一下。...(之前见过有人使用ListView实现4级、5级甚至更多级菜单的,是Adapter的数据源里定义的结构,根据等级缩进左间距的倍数,链接地址找不到了,有兴趣的可以自己找找) 先上效果图: ? ?...首先第一个要处理的问题是AdpOne的getChildView方法中,需要对EListTwo的高度进行动态计算,因为EListTwo展开关闭时高度是不一样的,所以要在EListTwo的setOnGroupExpandListener...setOnGroupCollapseListener方法中做相应的处理: /** * @author Apathy、恒 * * 子ExpandableListView展开时,因为group

3.4K20
您找到你想要的搜索结果了吗?
是的
没有找到

A022-列表容器之ExpandableListView

概述 本节课介绍Android中可实现二级可展开收缩列表的ExpandableListView容器,笔者感觉它非常难用并且难理解,很多时候我们可能需要对控件进行扩展定制,然而它不太方便扩展,它使用难点主要在数据结构上对控件的事件监听...,其他的实现方式类似ListView,下面会提供笔者实际开发中使用到的案例。...上面实现的效果可展开的二级列表,每个组项都可能有若干个子项,默认的ExpandableListView不太美观,我们需要通过自定义布局类美化它,使用过程中有一些需要我们去了解的点,会在实现过程提一下。...除了一个组项,每个组项下面有若干个子项,我们使用的时候首先要确定要展示的数据结构,组项有groupPosition来标识位置,然而子项需要根据groupPositionChildPosition来标识位置...,我们设置数据的时候分别在getGroupViewgetChildView方法来设置组视图子项视图数据,最后返回填充数据的视图对象,一些逻辑控制的代码也是在这两个方法中进行,比如控制组项的展开、组项的点击

88510

安卓ExpandableListView的详细使用教程(附代码解析过程)

、实现效果   ExpandableListView又称可扩展的ListView,简单来说长这个样: 每一个一级布局下面又可以展开二级布局。...二、实现步骤 使用ExpandableListView主要有三个步骤: 编写父布局 编写子布局 适配器的书写 1.编写父布局parent.xml   父布局其实很简单,就是两个并排的TextView,用于展示课程名字分数...的Adapter都要继承BaseExpandableListAdapter这个类,并且必须重载getGroupViewgetChildView这两个最为重要的方法。...getGroupViewgetChildView两个方法我举getGroupView来详细讲解: public View getGroupView(int i, boolean b, View convertView...static class GroupHolder { TextView tv_course_name; TextView tv_mark; } 里面包含了父布局的所有数据属性,我们getGroupView

93620

【Android从零单排系列二十一】《Android视图控件——ExpandableListView

ExpandableListView基本介绍 ExpandableListView是Android中的一个可扩展列表视图,它继承自ListView,并提供了支持展开折叠的功能。...ExpandableListView可以展示带有分组子项的层次结构数据,让用户可以方便地通过展开折叠操作来浏览查看更多的内容。...二 ExpandableListView使用方法 XML 布局文件中添加 ExpandableListView: <ExpandableListView android:id="@+id/...childList.get(childPosition) : null; } // 其他方法... } 代码中设置适配器监听器: // 获取 ExpandableListView...四 总结 ExpandableListView提供了一种方便的方式来展示具有层次结构的列表数据,并允许用户通过展开折叠操作来浏览更多内容。它通常用于菜单、分类列表、可折叠的评论或帖子等场景。

20410

Android如何实现社交应用中的评论与回复功能详解

前言 Android的日常开发中,评论与回复功能是我们经常遇到的需求之一,其中评论与回复列表的展示一般功能模块中占比较大。...第一张图是我们设计给我找的,他说要按照这个风格来,尽量将评论回复内容一个页面展示。好吧,没办法,毕竟我们做前端的,UI要看设计脸色,数据要看后台脸色��。...无意中看到expandable这个关键词,我突然想到谷歌很早之前出过一个扩展列表的控件 – ExpandableListView,但听说比较老,存在一些问题。...默认情况下会为我们自带分组的icon(▶️),当前需求下,我们根本不需要展示,可以通过expandableListView.setGroupIndicator(null)来隐藏。...setOnGroupCollapseListener来监听ExpandableListView的分组展开收缩的状态。

2.3K20

android expandablelistview横向,expandableListView 总结

实现效果图: expandableListView groupIndicator 图片默认是左边,而且比较难看,而我要的是实现groupIndicator 右边自定义图片, 换图片 最简单的就是直接...然后适配器上getgroupView 设置父布局,getChildView设置子布局。listView的差不多。...现在要做的就是设置监听 监听ImageView expandableListView 的点击事件,这里我是点图片展开关闭Child,长点击expandableListView 也展开关闭Child,...gh.p_w_picpath.setOnClickListener(new ImageListener(Imageposition)); return convertView; } @Override public View getChildView...ch.tv_up.setOnClickListener(new OnClickListener() { @Override public void onClick( View v ) { // TODO 子控件更新

37120

Spread for Windows Forms高级主题(6)---数据绑定管理

绑定单元格区域之后,如果你在数据源中删除或增加了一列,Spread控件并不会自动进行更新。 Spread控件中的数据源单元格区域是由MapperInfo类控制的。它们之间通过行同步进行相互同步。...如果用户现有的单元格区域下面添加了新的一行,那么单元格区域会扩展一行,并对MapperInfo类和数据源进行扩展,反之亦然。如果新添加的行位于绑定区域的外面,那么它不会被添加到绑定区域中。...如果用户现有的单元格区域下面添加了新的一行,那么单元格区域会扩展一行,并对MapperInfo类和数据源进行扩展,反之亦然。如果新添加的行位于绑定区域的外面,那么它不会被添加到绑定区域中。...用户可以通过点击展开折叠图表(加号减号标识)展开或者折叠层次组织的层级。 ?...你可以自定义单元格类型,颜色,标题,以及子表单的其它方面的外观设置。 你可以绑定到一个层次化的集合上。 如果你要为表单设置皮肤,你必须把皮肤应用到父表单所有的子表单上。

2.1K100

Cloud Studio 内核升级之触手可及

简介本次内核升级:Cloud Studio 内核版本从 v1.69.1 升级到了 v1.71.0;同时支持协作插件的参与者人数限制由 3 人提升到了 10 人,并且提供了更丰富的官方建站模版。...这次内核升级,主要包含如下亮点:默认显示命令中心 - 用于搜索文件、运行命令导航光标历史记录。标题栏自定义 - 隐藏/显示菜单栏、命令中心或布局控制。折叠选择 - 在编辑器中创建您自己的折叠区域。...树视图搜索过滤 - 查找资源管理器等树视图中查找过滤。丰富的代码操作 - 代码编辑器中方便快速使用代码操作,从而对代码块进行抽取、重构等操作。...默认显示命令中心通过命令中心,可以方便地搜索文件、运行命令导航光标历史记录,如下图所示: 标题栏自定义Cloud Studio 默认已经显示了命令中心,您也可以顶部菜单栏上右键选择隐藏/显示菜单栏、...循环语句包住,如下图所示:写在最后上面只列出的部分相对重要的更新内容,本次更新工作区、编辑、终端、源代码控制、调试、笔记本、语言、扩展点等各个方面都有了很大的升级。

70620

谷歌全面反攻 ChatGPT!PaLM 2、Gemini 双杀,Bard 正式开放

,快速介绍了多项重要的更新: 正式发布 5400 亿参数大模型 PaLM 2,已为 Google 旗下产品 25 项产品赋能。...推理方面,PaLM 2 的数据集包括科学论文、大量涵盖数学公式的各类网页,提高了模型的逻辑、常识推理和数学能力。 程序语言方面,PaLM 2 海量开源代码的基础上进行了预训练。... Bard 演示的环节强调了其可扩展性,例如使用 Bard 写代码可以一键拖拽至 Colab 直接运行。...就目前展示线上试用的效果而言,这些能力对比当前 ChatGPT ,Bard 仅仅做到了追赶,少部分功能的实用性让人眼前一亮。...Google 推出首个折叠屏手机 Pixel Fold 消费者产品方面,本次 I/O 的亮点是 Google 正式推出了首款折叠屏手机 Pixel Fold。

56640

折叠设备、平板设备大屏设备更新一览

可以观看 可折叠设备,平板电脑大屏幕更新一览 了解更多详情。 可折叠的屏幕也为大型设备提供了更好的人机工程学效果。折叠后,您可以把原本和平板电脑一般大的屏幕放进口袋里,这是以往的便携设备无法做到的。...我们看到,用户对大屏幕的需求也延伸到了平板电脑,鉴于两者类似的应用体验,平板电脑的受欢迎程度现在也已经大幅增加。...△ Chrome OS 设备上使用 Android 应用的用户通常会配置实体键盘;应用应该支持标准的键盘导航快捷键,以提供更全面的无障碍使用体验 组件更新 我们更新了 Jetpack Material...△ SlidingPaneLayout 我们的示例应用 IOSched 中使用的情况 我们已经更新了该库,以识别适应 折叠铰链。...大多数应用无需更新即可受益于这一变更。最明显的例外则是当您的应用使用了独占资源,如麦克风或摄像头的时候。这方面的更多细节请参阅我们 之前的博文。

2K20

我们来看看都做了哪些更新

除用户隐私方面的特性更新之外,Android Q 还为开发者们带去了许多新功能,如折叠屏增强项、新网络连接 API、全新的媒体解码器、摄像头新功能、NNAPI 扩展、Vulkan 1.1 图形支持等等。... Beta 1 发布之后,大家的踊跃反馈再次证明了开放的价值所在——这些反馈明确、清晰而且富有价值。我们收到了数千份错误报告,也收获了许多洞见与指向性反馈。...测试隐私特性并给予反馈 正如我们发布 Beta 1 时表示的一样,Android Q 之前几个版本的基础上,大幅提升了用户隐私方面的安全防护。...7.3 英寸折叠平设备切换折叠/展开状态 平台方面,我们对onResumeonPause 进行了多项改进,以便为 multi-resume 提供更好的支持,此外,我们还添加了应用获得焦点后的通知功能...更多实现系列,请查看更新后的示例应用。 指向性且可变焦的麦克风 音频采集方面,Android Q Beta 2 利用新的 MicrophoneDirection API 给予应用更多控制。

99860

谷歌全面反攻 ChatGPT!PaLM 2、Gemini 双杀,Bard 正式开放

,快速介绍了多项重要的更新: 正式发布 5400 亿参数大模型 PaLM 2,已为 Google 旗下产品 25 项产品赋能。...推理方面,PaLM 2 的数据集包括科学论文、大量涵盖数学公式的各类网页,提高了模型的逻辑、常识推理和数学能力。 程序语言方面,PaLM 2 海量开源代码的基础上进行了预训练。... Bard 演示的环节强调了其可扩展性,例如使用 Bard 写代码可以一键拖拽至 Colab 直接运行。...就目前展示线上试用的效果而言,这些能力对比当前 ChatGPT ,Bard 仅仅做到了追赶,少部分功能的实用性让人眼前一亮。...Google 推出首个折叠屏手机 Pixel Fold 消费者产品方面,本次 I/O 的亮点是 Google 正式推出了首款折叠屏手机 Pixel Fold。

29840

Appium+python自动化(二十五)- 那些让人抓耳挠腮、揪头发掉头发的事 - 获取控件ID(超详解)

因为不同的大小屏幕的手机上获取控件的坐标点,不是一样的,而是有变化的,因此不同的手机机型上,我们可能都需要重新获取坐标点,这么操作起来,如果操作控件特别的多,那么获取控件的坐标点就会显得特别的繁琐。...下面就HierarchyViewer从打开方式使用两方面进行讲解。...当前的父节点右下角的角标,不需要在getChildView函数中显示。 这样,通过以上函数,再结合Hierarchyviewer图形,我们获取到了重复的控件ID。...由于Hierarchyviewer看起来不是特别方便,这里再推荐一款Hierarchyviewer类似功能的工具:uiautomatorviewer(存储sdk\tools中,双击打开即可) ?.../province_list',5,0,0) 获取到了不存在或重复的控件ID后,我们可以通过其坐标,进行点击操作。

2K31

成功预测98.5%人类蛋白质结构再登Nature,从头说说AlphaFold2的雄心壮志

正如文章中摘录的朴茨茅斯大学结构生物学教授John Mcgeehan所言: 我们花了几个月甚至几年的时间才做到的事,AlphaFold一个周末就做到了。...为了更加清楚得了解AlphaFold为什么引起这么大的轰动,以及AlphaFold究竟做到了什么,我们再回顾一下DeepMind另一篇雄文。...不过,细胞中,蛋白质的存在是三维的,不同蛋白质的功能很大程度上取决于其独特的3D结构。所以说,搞清楚蛋白质的折叠结构可以帮助我们更好地理解蛋白质的功能工作原理,这类问题被称为“蛋白质折叠问题”。...诺贝尔奖得主、皇家学会主席Venki Ramakrishnan表示: 这项计算工作代表了蛋白质折叠问题上的一个惊人进步,蛋白质折叠问题是生物学上一个跨越50年的巨大挑战……它将在许多方面从根本上改变生物学研究...相比而言,AlphaFold2则很短的时间内,破译了几乎整个人类蛋白质组(98.5%的人类蛋白质)的结构,其中有35.7%的残基落在最高精度带内,相当于目前人类通过实验所得结构数量(17%)的两倍,极大地扩展了蛋白结构覆盖率

65860
领券