Android——使用ListView实现多级树形控件

简介:
  1. 思路:反复适配listview上的数据;

2.实现方法:

(1)创建数据bean(包含一些属性信息);

(2)转化为树节点TreeNode(id,parentId,bean);

(3)用所有的树节点构建一棵树包括(根节点和其他节点);

(4)Adapter的实现:

    1)创建两个节点列表,一个保存list要显示的节点(showList),一个保存所有的节点(cache);

    2)初始化是显示根节点;

    3)每次的展开与收缩都是将被点击的节点的展开状态设为相反状态;

    4)每次展开都是将所有的根节点和父节点为展开状态的节点设配到ListView中(清空showList,在cache中找到相应节点放到showList中);

    5)在收缩方法中要注意把要收缩节点的子节点都从showList删去;

    6)在adapter类中调用notifyOnDatasetChanged()方法;


源码下载地址:http://down.51cto.com/data/1976008


















本文转自wauoen51CTO博客,原文链接: http://blog.51cto.com/7183397/1604907,如需转载请自行联系原作者








相关文章
|
5月前
|
数据库 Android开发
Android使用EditText+Listview实现搜索效果(使用room模糊查询)
本文介绍如何在Android中使用EditText与ListView实现搜索功能,并结合Room数据库完成模糊查询。主要内容包括:Room的模糊查询语句(使用`||`代替`+`号)、布局美化(如去除ListView分割线和EditText下划线)、EditText回车事件监听,以及查询逻辑代码示例。此外,还提供了相关扩展文章链接,帮助读者深入了解ListView优化、动态搜索及Room基础操作。
385 65
|
5月前
|
XML 搜索推荐 Android开发
Android改变进度条控件progressbar的样式(根据源码修改)
本文介绍了如何基于Android源码自定义ProgressBar样式。首先分析了系统源码中ProgressBar样式的定义,发现其依赖一张旋转图片实现动画效果。接着分两步指导开发者实现自定义:1) 模仿源码创建一个旋转动画XML文件(放置在drawable文件夹),修改图片为自定义样式;2) 在UI控件中通过`indeterminateDrawable`属性应用该动画。最终实现简单且个性化的ProgressBar效果,附带效果图展示。
336 2
|
5月前
|
Android开发
Android控件样式的抽取(小提及快捷方式)
在Android开发中,若多个控件样式重复,可抽取公共部分以简化代码。例如对EditText提取样式,通过编辑`styles.xml`实现复用。为提高效率,Android Studio提供自动提取Style功能:右键点击控件样式选项,选择“Style...”,勾选需要提取的属性后确认,即可快速生成样式代码,显著提升开发便利性。
178 2
|
XML 编解码 Android开发
安卓开发中的自定义视图控件
【9月更文挑战第14天】在安卓开发中,自定义视图控件是一种高级技巧,它可以让开发者根据项目需求创建出独特的用户界面元素。本文将通过一个简单示例,引导你了解如何在安卓项目中实现自定义视图控件,包括创建自定义控件类、处理绘制逻辑以及响应用户交互。无论你是初学者还是有经验的开发者,这篇文章都会为你提供有价值的见解和技巧。
163 3
|
XML 存储 Java
浅谈Android的TextView控件
浅谈Android的TextView控件
116 0
|
前端开发 Android开发 开发者
安卓开发中的自定义视图:构建你的第一个控件
【8月更文挑战第26天】在安卓开发的浩瀚海洋中,自定义视图是一块充满魔力的乐土。它不仅是开发者展示创造力的舞台,更是实现独特用户体验的关键。本文将带你步入自定义视图的世界,从基础概念到实战应用,一步步教你如何打造自己的第一个控件。无论你是初学者还是有经验的开发者,这篇文章都将为你的开发之旅增添新的风景。
|
API Android开发 开发者
`RecyclerView`是Android API 21引入的UI组件,用于替代ListView和GridView
【6月更文挑战第26天】`RecyclerView`是Android API 21引入的UI组件,用于替代ListView和GridView。它提供高效的数据视图复用,优化的布局管理,支持多种布局(如线性、网格),并解耦数据、适配器和视图。RecyclerView的灵活性、性能(如局部刷新和动画支持)和扩展性使其成为现代Android开发的首选,特别是在处理大规模数据集时。
244 2
|
前端开发 API Android开发
25. 【Android教程】列表控件 ListView
25. 【Android教程】列表控件 ListView
650 2
|
XML 数据格式
Android-自定义三角形评分控件
Android-自定义三角形评分控件
156 0
|
XML Android开发 数据格式
Android基础控件介绍
Android基础控件介绍
143 0

热门文章

最新文章