listview多种条目展示案例

2023-12-30 00:18

本文主要是介绍listview多种条目展示案例,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

	public class myAdapter extends BaseAdapter {//	获得当前条目类型public int getItemViewType(int position) {// 如果是标题,返回0if (position == 0 || position == userAppList.size() + 1) {return 0;} else {// 如果是应用条目,返回1return 1;}}//获得条目种类个数@Overridepublic int getViewTypeCount() {return super.getViewTypeCount() + 1;}@Override//所有条目总数public int getCount() {return systemAppList.size() + userAppList.size() + 2;}/** 返回当前条目*/public AppInfo getItem(int position) {if (position == 0 || position == userAppList.size() + 1) {return null;} else if (position < userAppList.size() + 1) {return userAppList.get(position - 1);} else {return systemAppList.get(position - 2 - userAppList.size());}}@Overridepublic long getItemId(int position) {return position;}@Overridepublic View getView(int position, View convertView, ViewGroup parent) {int type = getItemViewType(position);// 如果是纯文本if (type == 0) {ViewTitleHolder vth = null;if (convertView == null) {convertView = View.inflate(getApplicationContext(),R.layout.item_appinfo_title, null);vth = new ViewTitleHolder();vth.title = (TextView) convertView.findViewById(R.id.tv_appinfo_title);convertView.setTag(vth);} else {vth = (ViewTitleHolder) convertView.getTag();}if (position == 0) {vth.title.setText("用户应用(" + userAppList.size() + ")");} else {vth.title.setText("系统应用(" + systemAppList.size() + ")");}return convertView;} else {// 如果是应用介绍ViewHolder vh = null;if (convertView == null) {convertView = View.inflate(getApplicationContext(),R.layout.item_appinfo, null);vh = new ViewHolder();vh.icon = (ImageView) convertView.findViewById(R.id.iv_appIcon);vh.appName = (TextView) convertView.findViewById(R.id.tv_appName);vh.appIsSdcard = (TextView) convertView.findViewById(R.id.tv_appIsSdcard);convertView.setTag(vh);} else {vh = (ViewHolder) convertView.getTag();}AppInfo item = getItem(position);vh.icon.setImageDrawable(item.icon);vh.appName.setText(item.name);if (item.isSdcard) {vh.appIsSdcard.setText("内存储卡");} else {vh.appIsSdcard.setText("SdCard应用");}return convertView;}}}

	private ArrayList<AppInfo> systemAppList; //系统应用信息集合private ArrayList<AppInfo> userAppList; //用户应用信息集合

这篇关于listview多种条目展示案例的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/551148

相关文章

使用Navicat工具比对两个数据库所有表结构的差异案例详解

《使用Navicat工具比对两个数据库所有表结构的差异案例详解》:本文主要介绍如何使用Navicat工具对比两个数据库test_old和test_new,并生成相应的DDLSQL语句,以便将te... 目录概要案例一、如图两个数据库test_old和test_new进行比较:二、开始比较总结概要公司存在多

查询SQL Server数据库服务器IP地址的多种有效方法

《查询SQLServer数据库服务器IP地址的多种有效方法》作为数据库管理员或开发人员,了解如何查询SQLServer数据库服务器的IP地址是一项重要技能,本文将介绍几种简单而有效的方法,帮助你轻松... 目录使用T-SQL查询方法1:使用系统函数方法2:使用系统视图使用SQL Server Configu

SpringBoot实现动态插拔的AOP的完整案例

《SpringBoot实现动态插拔的AOP的完整案例》在现代软件开发中,面向切面编程(AOP)是一种非常重要的技术,能够有效实现日志记录、安全控制、性能监控等横切关注点的分离,在传统的AOP实现中,切... 目录引言一、AOP 概述1.1 什么是 AOP1.2 AOP 的典型应用场景1.3 为什么需要动态插

Redis多种内存淘汰策略及配置技巧分享

《Redis多种内存淘汰策略及配置技巧分享》本文介绍了Redis内存满时的淘汰机制,包括内存淘汰机制的概念,Redis提供的8种淘汰策略(如noeviction、volatile-lru等)及其适用场... 目录前言一、什么是 Redis 的内存淘汰机制?二、Redis 内存淘汰策略1. pythonnoe

Golang操作DuckDB实战案例分享

《Golang操作DuckDB实战案例分享》DuckDB是一个嵌入式SQL数据库引擎,它与众所周知的SQLite非常相似,但它是为olap风格的工作负载设计的,DuckDB支持各种数据类型和SQL特性... 目录DuckDB的主要优点环境准备初始化表和数据查询单行或多行错误处理和事务完整代码最后总结Duck

SpringBoot项目启动后自动加载系统配置的多种实现方式

《SpringBoot项目启动后自动加载系统配置的多种实现方式》:本文主要介绍SpringBoot项目启动后自动加载系统配置的多种实现方式,并通过代码示例讲解的非常详细,对大家的学习或工作有一定的... 目录1. 使用 CommandLineRunner实现方式:2. 使用 ApplicationRunne

Python中实现进度条的多种方法总结

《Python中实现进度条的多种方法总结》在Python编程中,进度条是一个非常有用的功能,它能让用户直观地了解任务的进度,提升用户体验,本文将介绍几种在Python中实现进度条的常用方法,并通过代码... 目录一、简单的打印方式二、使用tqdm库三、使用alive-progress库四、使用progres

MySQL不使用子查询的原因及优化案例

《MySQL不使用子查询的原因及优化案例》对于mysql,不推荐使用子查询,效率太差,执行子查询时,MYSQL需要创建临时表,查询完毕后再删除这些临时表,所以,子查询的速度会受到一定的影响,本文给大家... 目录不推荐使用子查询和JOIN的原因解决方案优化案例案例1:查询所有有库存的商品信息案例2:使用EX

Java文件上传的多种实现方式

《Java文件上传的多种实现方式》文章主要介绍了文件上传接收接口的使用方法,包括获取文件信息、创建文件夹、保存文件到本地的两种方法,以及如何使用Postman进行接口调用... 目录Java文件上传的多方式1.文件上传接收文件接口2.接口主要内容部分3.postman接口调用总结Java文件上传的多方式1

C#中字符串分割的多种方式

《C#中字符串分割的多种方式》在C#编程语言中,字符串处理是日常开发中不可或缺的一部分,字符串分割是处理文本数据时常用的操作,它允许我们将一个长字符串分解成多个子字符串,本文给大家介绍了C#中字符串分... 目录1. 使用 string.Split2. 使用正则表达式 (Regex.Split)3. 使用