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

相关文章

PostgreSQL的扩展dict_int应用案例解析

《PostgreSQL的扩展dict_int应用案例解析》dict_int扩展为PostgreSQL提供了专业的整数文本处理能力,特别适合需要精确处理数字内容的搜索场景,本文给大家介绍PostgreS... 目录PostgreSQL的扩展dict_int一、扩展概述二、核心功能三、安装与启用四、字典配置方法

Python中re模块结合正则表达式的实际应用案例

《Python中re模块结合正则表达式的实际应用案例》Python中的re模块是用于处理正则表达式的强大工具,正则表达式是一种用来匹配字符串的模式,它可以在文本中搜索和匹配特定的字符串模式,这篇文章主... 目录前言re模块常用函数一、查看文本中是否包含 A 或 B 字符串二、替换多个关键词为统一格式三、提

Python get()函数用法案例详解

《Pythonget()函数用法案例详解》在Python中,get()是字典(dict)类型的内置方法,用于安全地获取字典中指定键对应的值,它的核心作用是避免因访问不存在的键而引发KeyError错... 目录简介基本语法一、用法二、案例:安全访问未知键三、案例:配置参数默认值简介python是一种高级编

MySQL中的索引结构和分类实战案例详解

《MySQL中的索引结构和分类实战案例详解》本文详解MySQL索引结构与分类,涵盖B树、B+树、哈希及全文索引,分析其原理与优劣势,并结合实战案例探讨创建、管理及优化技巧,助力提升查询性能,感兴趣的朋... 目录一、索引概述1.1 索引的定义与作用1.2 索引的基本原理二、索引结构详解2.1 B树索引2.2

从入门到精通MySQL 数据库索引(实战案例)

《从入门到精通MySQL数据库索引(实战案例)》索引是数据库的目录,提升查询速度,主要类型包括BTree、Hash、全文、空间索引,需根据场景选择,建议用于高频查询、关联字段、排序等,避免重复率高或... 目录一、索引是什么?能干嘛?核心作用:二、索引的 4 种主要类型(附通俗例子)1. BTree 索引(

HTML中meta标签的常见使用案例(示例详解)

《HTML中meta标签的常见使用案例(示例详解)》HTMLmeta标签用于提供文档元数据,涵盖字符编码、SEO优化、社交媒体集成、移动设备适配、浏览器控制及安全隐私设置,优化页面显示与搜索引擎索引... 目录html中meta标签的常见使用案例一、基础功能二、搜索引擎优化(seo)三、社交媒体集成四、移动

基于 HTML5 Canvas 实现图片旋转与下载功能(完整代码展示)

《基于HTML5Canvas实现图片旋转与下载功能(完整代码展示)》本文将深入剖析一段基于HTML5Canvas的代码,该代码实现了图片的旋转(90度和180度)以及旋转后图片的下载... 目录一、引言二、html 结构分析三、css 样式分析四、JavaScript 功能实现一、引言在 Web 开发中,

Python中提取文件名扩展名的多种方法实现

《Python中提取文件名扩展名的多种方法实现》在Python编程中,经常会遇到需要从文件名中提取扩展名的场景,Python提供了多种方法来实现这一功能,不同方法适用于不同的场景和需求,包括os.pa... 目录技术背景实现步骤方法一:使用os.path.splitext方法二:使用pathlib模块方法三

C++中零拷贝的多种实现方式

《C++中零拷贝的多种实现方式》本文主要介绍了C++中零拷贝的实现示例,旨在在减少数据在内存中的不必要复制,从而提高程序性能、降低内存使用并减少CPU消耗,零拷贝技术通过多种方式实现,下面就来了解一下... 目录一、C++中零拷贝技术的核心概念二、std::string_view 简介三、std::stri

六个案例搞懂mysql间隙锁

《六个案例搞懂mysql间隙锁》MySQL中的间隙是指索引中两个索引键之间的空间,间隙锁用于防止范围查询期间的幻读,本文主要介绍了六个案例搞懂mysql间隙锁,具有一定的参考价值,感兴趣的可以了解一下... 目录概念解释间隙锁详解间隙锁触发条件间隙锁加锁规则案例演示案例一:唯一索引等值锁定存在的数据案例二: