android:listView学习记录1

Android记录21-关于ListView数据错乱的解决方案(1) Override@Override@Override} else {以上是最简单的自定义adapter代码,就是简单对convertView进行复用,复用的意思是。这种方法效率很高,无论你的数据有多少条,都可以很流畅的进行显示。这里有一张图可以很好的体现ListView的复用原理:我们每次绘制视图的时候都会调用getView这个方法,它有三个参数分别是:position - 视图的位置,从0开始。 阅读详情

listView垂直列表显示组件,创建的方式有两种:

第一种:直接使用ListView进行创建;

第二种:让Activity继承ListActivity创建。

与listView其他相关的基本元素有:数据集、适配器。它们三者关系是典型的MVC模型应用。


几种重要的属性:

android:entries:制定一个数组资源,android将根据这个数组资源生成listView;

android:divider:设置List列表项的分隔条(即可用颜色,也可用Drawable分割)


下面给个实例:使用SimpleAdapter创建ListView

布局文件:Main.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    >
    <ListView
    	android:layout_width="fill_parent"
    	android:layout_height="wrap_content"
    	android:id="@+id/list"
    >
    </ListView>
    <ImageView
    		android:id="@+id/imageView"
    		android:layout_width="wrap_content"
    		android:layout_height="wrap_content"
    		android:paddingLeft="10dp"
    	></ImageView>
    	<TextView
    		android:id="@+id/textView"
    		android:layout_width="wrap_content"
    		android:layout_height="wrap_content"
    		android:gravity="center"
    		android:textSize="20sp"
    	></TextView>
</LinearLayout>

MainActivity.java

package com.javaee;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

import android.app.Activity;
import android.os.Bundle;
import android.util.Log;
import android.widget.ListView;
import android.widget.SimpleAdapter;

public class MainActivity extends Activity {
	/** Called when the activity is first created. */
	private String[] names = new String[] { "疯狂编程", "热爱编程", "重复编程", "坚持编程",
			"一定能立足" };
	private int[] images = new int[] { R.drawable.image1, R.drawable.image2,
			R.drawable.image3, R.drawable.image4, R.drawable.image5 };

	@Override
	public void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.main);

		ListView listView = (ListView) findViewById(R.id.list);
		List<Map<String, Object>> maps = new ArrayList<Map<String, Object>>();
		for (int i = 0; i < names.length; i++) {
			Map<String, Object> map = new HashMap<String, Object>();
			map.put("name", names[i]);
			map.put("image", images[i]);
			maps.add(map);
		}
		
		SimpleAdapter adapter = new SimpleAdapter(this, maps, R.layout.main,
				new String[] { "name", "image" }, new int[] { R.id.textView,
						R.id.imageView });
		listView.setAdapter(adapter);
	}
}
SimpleAdapter的几个参数进行解释下:

第一个参数context:上下文环境;

第二个参数data:传入一个List<Map<String,?>>类型的集合对象,该集合对象中每个Map对象生成一个列表项;

第三个参数resource:指定一个界面布局的ID;

第四个参数from:传入一个String[]类型的参数,该数组里面的数据项对应的是Map里面的KEY,通过KEY再取出Value;

第五个参数to:传入一个int[]类型的参数,该参数决定使用哪些View的组件来显示从Map中取出的Value,并组合成一个列表项。

过程中出现的错误:

java.lang.UnsupportedOperationException: addView(View, LayoutParams) is not supported in AdapterView

这个错误原因是我在main.xml布局文件中,将<ImageView>、<TextView>控件包含在了<ListView>控件内部而出现的错误,在设计中用来显示数据的控件,最好放在另外一个布局文件中。

Android 自己动手写ListView学习其原理 1 显示第一屏Item 《Android 自己动手写ListView学习其原理 1 显示第一屏Item》  《Android 自己动手写ListView学习其原理 2 上下滚动》 《Android 自己动手写ListView学习其原理 3 ItemClick,ItemLongClick,View复用》       之前分析ListView初始化写的一篇文章 《Android ListView初始化简单分 阅读详情

相关推荐

Android学习小Demo(21)ListView的联动选择

在日常的App开发中,尤其是在开发生活服务的应用上,很多时候,我们会需要联动地展现省市区的数据等,需求大概如下: 1)展现所有省份 2)当点击某省份的时候,在二级菜单上展现此省份下面所属的城市列表 3)选中返回,显示我们选中的城市 4)当重新进入选择页面的时候,标识出我们上一次选中(或者说当前已民选择)的值

持剑 6415

android图片点击左右,Android开发实现的图片点击切换功能示例

本文实例讲述了Android开发实现的图片点击切换功能。分享给大家供大家参考,具体如下:java 代码public class MainActivity extends AppCompatActivity {//定义一个访问图片的数组int[] images = new int[]{R.drawable.java,R.drawable.javaee,R.drawable.swift,R.drawa...

weixin_36213943的博客 239

Android记录21-关于ListView数据错乱的解决方案

Override} else {以上是最简单的自定义adapter代码,就是简单对convertView进行复用,复用的意思是。这种方法效率很高,无论你的数据有多少条,都可以很流畅的进行显示。这里有一张图可以很好的体现ListView的复用原理:我们每次绘制视图的时候都会调用getView这个方法,它有三个参数分别是:position - 视图的位置,从0开始。convertView - 我们最外层的视图,也就是我们的动态加载进来的布局,每一项条目。

2401_84123188的博客 825

ListView中android:entries属性只能设置为string-array对象

如果设置成integer-array对象,系统会报错。 entries: 显示的值 entryValues: 显示的值后面对应的真正的值。

程序达人 3150

实现Android ListView固定选中效果的技术细节

本文还有配套的精品资源,点击获取 简介:在Android开发中,通过自定义Adapter与ListView交互实现固定选中效果,当用户选择列表项时,即使滚动ListView,选中项依旧保持高亮状态。实现这一效果需要自定义Adapter来管理视图状态,记录选中位置,并在适当时更新视图。此外,需要在ListView的XML布局中禁用默认的选择模式,并可能调整列表项布局来增强选中...

weixin_36012152的博客 1440

Android使用listview展示订单菜单,提交后统计菜品价格

Android使用listview展示订单菜单,提交后统计菜品价格

android 显示商品列表,Android 菜商品列表展示

该楼层疑似违规已被系统折叠隐藏此楼查看此楼如上图所示右边也是一个数据列表,但它里面包含图片、文本框等等,并且每列都会有与之对应的餐类。Android部分获取右侧商品listview的控件private ListView rightListView = (ListView) view.findViewById(R.id.menu_lvmenu);通过Http请求服务器,设置方法名参数到后台查询成功...

weixin_31848413的博客 1963

Android控件ListView使用方法详解

主要为大家详细介绍了Android控件ListView的使用方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

安卓布局之ListView学习笔记

自己一直使用C#做着服务器端、手机端接口和网站端,就没怎么真正开发过手机端。 现在闲时就学习一下安卓的开发布局。看了一些资料,发现安卓使用的比较多的就是ListView这个控件布局,但网上很多信息都只是简单的文本列表,具体含义说明也不多。 现在记录记录起来使用说明。 一、新建个Activity,布局代码如下: xml version="1.0" encoding="ut

99guo的专栏 861

Ta-Lib源码解析(三):蜡烛图指标 (Candlestick Indicator) #(附Python重构代码和示意图)(补充中)

蜡烛图指标为识别K线形态的指标,笔者认为重点在于定义方式所提供的思路,背后的投资逻辑可以借鉴但不建议直接参考文档的翻译内容和源码逻辑存在不一致的现象,笔者分别列出中文百科中的定义和源码实际逻辑,供大家参考技术分析理论中的一些模糊词,ta-lib中给出了精确的定义源码

量化就是探索生活 3254

告别混乱代码!在Arduino IDE中管理多文件项目的5个必备技巧

本文分享了在Arduino IDE中管理多文件项目的5个必备技巧,帮助开发者告别混乱代码。通过代码分割和模块化设计,提升编译效率、降低内存占用,并实现功能解耦。重点介绍了头文件设计、CPP文件实现、调试技巧和工业级目录结构,让你的Arduino项目像乐高积木一样清晰易维护。

fun88的博客 361

android:listView学习记录2

1、listView的两个属性 ListView.setChoiceModel:设置ListView回应用户响应点击的方式; ListVeiw.setTextFilterEnable(true):激活过滤功能,用户可以在软键盘上输入文字,ListView可以自动匹配用户输入的文字。 2、效果实现 第一、listView 第二、一个listView列表里面水平布置了一个imageV

张峥(Java) 1277

攻防世界 web高手进阶区 9分题 Web_python_flask_sql_injection

继续ctf的旅程,开始攻防世界web高手进阶区的9分题,本文是Web_python_flask_sql_injection的writeup

闵行小鱼塘 1473

安卓学习第三篇:Intent、Bundle的使用以及RecyclerView、ListView的应用

一、实验题目 Intent、Bundle的使用以及RecyclerView、ListView的应用 二、实现内容 本次实验模拟实现一个健康食品列表,有两个界面,第一个界面用于呈现食品列表 如下所示 数据在&amp;amp;quot;manual/素材&amp;amp;quot;目录下给出。 点击右下方的悬浮按钮可以切换到收藏夹 上面两个列表点击任意一项后,可以看到详细的信息: UI要求 食品列表 每一项为一个圆圈和一个名字,圆圈和名字都...

羊城迷鹿的博客 679

智能车竞赛走马观碑组:赛道元素与目标板识别策略解析

本文深入解析了智能车竞赛走马观碑组别的核心挑战与策略。重点探讨了如何应对PVC赛道的光照、磨损及无边界线等复杂环境,并详细阐述了基于红色引导区的目标板高效识别流程。通过平衡轻量化模型选择、实时决策与精准控制,实现赛道元素适应性与目标板识别策略的优化,为参赛者提供了一套完整的系统集成与实战调参思路。

x8y9z0的博客 460

华大 HC32F460 DMA数据传输实战:从配置到中断处理的完整指南

本文提供了华大半导体HC32F460微控制器DMA(直接内存访问)功能的完整实战指南。详细解析了DMA的配置流程、中断处理机制以及软件与硬件触发方式,并附有实验代码示例。通过合理使用DMA进行数据传输,可以显著解放CPU资源,提升嵌入式系统的实时性与运行效率。

weixin_29194255的博客 255

【android基础学习之二】——基础控件ListView

声明:学习的书籍《Android应用开发揭秘》,这里记录学习该书籍的日志,引用的相关代码与总结描述,没有商业的用途,完全是自我学习的一个记录,刚刚学习不可避免会出现很多问题,若是有错误还请大家多多批评。 继续前面的学习 一、TextView文本框(省略)。二、列表ListView 针对列表的事件:(1)当鼠标滚动时会触发:setOnItemSelectedListener事件;(2)点击时触发:s

jercy的专栏 5064

stm32控制舵机_使用URT-1控制飞特舵机上手教程(SM40BL舵机为例)

使用URT-1控制飞特舵机上手教程(SM40BL舵机为例):1,参阅URT-1使用说明.pdf2, 材料清单:① URT-1驱动板② 连接驱动板与电脑的MINI USB 连接线③ 给舵机供电的电源④ 舵机与舵机连接线⑤ 杜邦线(可选)3,将URT-1驱动板与电脑连接4,安装驱动,参阅文件CH340驱动,检查设备管理器串口号。5,舵机连接URT-1驱动板,驱动板接电源,参考下图:6,打开FD软件进行...

weixin_39564510的博客 3432

android中ListView的学习记录

1、要实现ListView和适配器Adapter的连接,我们首先需要明白什么是Adapter简述:Adapter是数据与UI之间的桥梁,它把后台数据与前端UI连接到一起,是一个展示数据的载体。 总之,就是将数据与控件之间进行适配达到我们想要的效果。我们来看一个关于ListView与适配器连接的例子。(1)首先 创建fruittest.xml,线性布局下创建一个id为listView_main的ListView控件。这个xml中的ListView待会儿将存放我们的数据。(2)创建Fruit.java,用来保存

hxd8888的博客 194

别再乱拖了!Godot 4.x 场景编辑器的7个隐藏操作技巧(附快捷键清单)

本文揭示了Godot 4.x场景编辑器的7个隐藏操作技巧,包括智能对齐、轴心点应用、多节点批量操作等,帮助开发者提升游戏开发效率。特别介绍了坐标系切换和自定义快捷键等实用功能,适用于处理复杂场景和团队协作。

weixin_29534421的博客 361

DeepSeek在实时计算与流处理系统中的突破性实践

对于技术决策者而言,现在正是将DeepSeek实时计算技术纳入企业架构蓝图的关键时机,那些能够率先构建实时智能能力的企业,将在数据驱动的商业竞争中赢得决定性优势。DeepSeek通过创新的流处理架构,成功将复杂事件处理(CEP)的延迟降低到亚秒级,同时保证了计算结果的精确性。DeepSeek研发的神经架构搜索(NAS)与知识蒸馏联合优化框架,可在保持模型精度的前提下,将参数量压缩至原始模型的1/100,实现边缘设备的实时AI推理。随着5G和物联网技术的普及,对实时处理能力的需求将呈指数级增长。

Programming Talk 291

android listview 记录位置,Android简单记录和恢复ListView滚动位置的方法

本文实例讲述了Android简单记录和恢复ListView滚动位置的方法。分享给大家供大家参考,具体如下:有时候我们需要记录当前ListView滚动到的位置,重新加载的时候要回到原位,不罗嗦,给出代码://列表滚动private OnScrollListener ScrollLis = new OnScrollListener() {@Overridepublic void onScroll(Ab...

weixin_32337913的博客 245

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

android学习记录(八)实现ListView的长按进入多选删除模式。

今天在仿制一个应用的时候,发现我不会实现listView的长按进入多选这个功能,就找了一下资料。。发现找资料用去的时间还是蛮多的。。。天。理解完之后,自己写了一份代码。        简单来说,就是实施对ListView中item的长按监控,对CheckBox的显示与隐藏进行操作而已。好像有一个ListView中有一个setChoseMode方法。。不太清楚怎么用的,等下我再看看研究研究,应该会

啊左的专栏 6698

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

android ListView 中getview学习总结

最近在做android相关的开发,ListView中有一个图片错位的问题,今天查了很多人写的一些东西,所以记录下来,算是一种加深理解吧。 ListView是一个非常常用的控件,功能可以扩展的很丰富,而且与GridView有很多相似的地方。都可以存放大量数据。而且当我们需要比较复杂的布局时,一般用SimpleAdapter,或者继承BaseAdapter自己重写。 如果是继承A...

apuycat204023的博客 349

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

Android 自己动手写ListView学习其原理 2 上下滚动

《Android 自己动手写ListView学习其原理 1 显示第一屏Item》  《Android 自己动手写ListView学习其原理 2 上下滚动》 《Android 自己动手写ListView学习其原理 3 ItemClick,ItemLongClick,View复用》         之前已经写了《Android 自己动手写ListView学习其原理 1 显示第一屏

Android 8037

2024年Android最全Android记录21-关于ListView数据错乱的解决方案(1),2024Android大厂高频面试题

由于篇幅限制,文档的详解资料太全面,细节内容太多,所以只把部分知识点截图出来粗略的介绍,每个小节点里面都有更细化的内容!由于整个文档比较全面,内容比较多,篇幅不允许,下面以截图方式展示。网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。需要这份系统化学习资料的朋友,可以戳这里获取一个人可以走的很快,但一群人才能走的更远!

2401_84563220的博客 1009
上一篇: android:scrollView学习记录
下一篇: android:listView学习记录2
extjavaee
博客等级 码龄16年 7粉丝 21原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值