滚动视图、列表视图[ListView、SimpleAdapter类]
滚动视图
<ScrollView
android: layout_width="fill_parent"
android: layout_height="fill_parent">
</ScrollView>
滚动试图指的是提供一个专门的容器,可以装下多于屏幕宽度的组件,而后采用拖拽的方式
显示所有在ScrollView中的组件
注意:滚动视图中只能有一个组件
列表视图【ListView、SimpleAdapter类】
1.ListView控件的特点:每个列表项独占一行,每行的布局都相同。
2.使用SimpleAdapter类设置列表视图
SimpleAdapter类的主要功能是将List集合的数据转换为ListView可以支持的数据。
new SimpleAdapter ( 上下文对象【this】, 列表的数据, 列表项的布局资源文件,
键名数组【new String[ ]{"标签名"}】,列表项所有控件的索引值【new int[ ]{R.id.控件id】)
|
方法 |
描述 |
|
public SimpleAdapter ( Context context, List<? extends Map<String,?>>, int resource, String[] from, int[] to) |
创建SimpleAdapter对象,需要传入Context对象,封装的List集合,要使用的布局文件ID,需要显示的key(对应Map)、组件的ID |
|
public int getCount() |
得到保存集合的个数 |
|
public Object getItem(int position) |
取得指定位置的对象 |
|
public long getItemId(int position) |
取得指定位置对象的ID |
|
public void notifyDataSetChanged() |
当列表项发生改变时,通知更新显示ListView |

列表项显示模板——res/layout/data_list.xml

ListView事件
|
方法 |
描述 |
|
public void setOnItemSelectedListener( AdapterView.OnItemSelectedListener listener) |
选项选中时触发 |
|
public void setOnItemClickListener( AdapterView.OnItemClickListener listener) |
选项单击时触发 |
|
public void setOnItemLongListener( AdapterView.OnItemLongListener listener) |
选项长按时触发 |

1 ListView lv=(ListView)findViewById(R.id.listView);
2 List<Map<String,Object>> list=new ArrayList<Map<String,Object>>();
3 //从数组资源中获取数据
4 String[] data=getResources().getStringArray(R.array.haha);
5 for(int i=0;i<data.length;i++){
6 Map<String,Object> map=new HashMap<String,Object>();
7 map.put("img", R.drawable.b);
8 map.put("txt", data[i]);
9 list.add(map);
10 }
11 //参数列表:上下文对象、列表的数据、列表项的布局资源文件、键名数组、列表项所有控件的索引值
12 SimpleAdapter adapter=new SimpleAdapter(this, list,R.layout.data_list, new String[]{"img","txt"}, new int[]{R.id.Dataimg,R.id.Datatv});
13 lv.setAdapter(adapter);
14
15 //设置ListView的单击事件
16 lv.setOnItemClickListener(new OnItemClickListener() {
17 /** ListView选项单击时触发
18 * adp 取得AdapterView对象
19 * view 取得AdapterView的父组件
20 * position 取得Adapter的操作位置
21 * id 取得ListView所在行的编号
22 */
23 public void onItemClick(AdapterView<?> adp, View view, int position, long id) {
24 Object obj=adp.getItemAtPosition(position);
25 Map<String, Object> objs=(Map<String, Object>)obj;
26 String str= (String)objs.get("txt");
27 Toast.makeText (Listview.this, str, 1000).show();
28 }
29 });
30
滚动视图、列表视图[ListView、SimpleAdapter类]的更多相关文章
- android学习--视图列表(ListView和ListActivity)
说明: 视图列表(ListView和ListActivity)与AutoComplete.Spinner类似,它们都须要一个供显示的列表项,能够须要借助于内容Adapter提供显示列表项 创建List ...
- Display a Detail View with a List View 主子视图-列表视图与详细信息视图同时显示
In this lesson, you will learn how to display a Detail View together with a List View. For this purp ...
- Filter List Views 筛选器列表视图
In this lesson, you will learn how to filter a List View. Three techniques, based on different scena ...
- C#开发BIMFACE系列28 服务端API之获取模型数据13:获取三维视点或二维视图列表
系列目录 [已更新最新开发文章,点击查看详细] 本篇主要介绍如何获取一个模型中包含的三维视点或二维视图列表. 请求地址:GET https://api.bimface.com/data/v2/ ...
- Android 自学之列表视图ListView和ListActivity
ListView是手机系统中使用非常广泛的一种组件,它以垂直列表的形式显示所有列表项. 创建ListView有两种方式: 直接使用ListView创建. 让Activity继承ListActivity ...
- Android——列表视图(ListView)
列表视图是android中最常用的一种视图组件,它以垂直列表的形式列出需要显示的列表项.在android中有两种方法向屏幕中添加列表视图:一种是直接使用ListView组件创建:另外一种是让Activ ...
- C#:列表视图操作类
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.W ...
- React-Native基础_5.列表视图ListView
列表视图ListView 用来显示垂直滚动列表,需要指定两个东西,1 数据的来源 dataSource,2 渲染列表的条目布局 rendRow 'use strict' import React, { ...
- WorldWind源码剖析系列:插件列表视图类PluginListView和插件列表视图项类PluginListItem
WorldWind中的插件类是个庞大的类,可以说从软件设计层面上统筹可扩展的插件体系的设计思想是WorldWind中的精华,值得学习和借鉴.插件体系中的所用到的类可以分为两大类,一类是插件类Plugi ...
随机推荐
- 10 jQuery的事件绑定和解绑
1.绑定事件 语法: bind(type,data,fn) 描述:为每一个匹配元素的特定事件(像click)绑定一个事件处理器函数. 参数解释: type (String) : 事件类型 data ( ...
- Python自学day-7
一.静态方法(@staticmethod) class Dog(object): def __init__(self): pass @staticmethod def talk(): #静态方法 pa ...
- JavaWeb入门_模仿天猫整站Tmall_JavaEE实践项目
Tmall_JavaEE 技术栈 Servlet + Jsp + Tomcat , 是Java Web入门非常好的练手项目 效果展示: 模仿天猫前台 模仿天猫后台 项目简介 关联项目 github - ...
- asp.net core 系列之Dependency injection(依赖注入)
这篇文章主要讲解asp.net core 依赖注入的一些内容. ASP.NET Core支持依赖注入.这是一种在类和其依赖之间实现控制反转的一种技术(IOC). 一.依赖注入概述 1.原始的代码 依赖 ...
- Windows和linux环境下按文件名和字符串搜索命令
Windows 1.遍历C盘下所有txt 命令:for /r c:\ %i in (*.txt) do @echo %i 注释:for 循环的意思 /r 按照路径搜索 c:\ 路径 %i in ( ...
- 用CSS3 vh 简单实现DIV全屏居中
vh.vw.vmin.vmax介绍 vw:视窗宽度的百分比(1vw 代表视窗的宽度为 1%)vh:视窗高度的百分比vmin:当前 vw 和 vh 中较小的一个值vmax:当前 vw 和 vh 中较大的 ...
- 前端笔记之React(四)生命周期&Virtual DOM和Diff算法&日历组件开发
一.React生命周期 一个组件从出生到消亡,在各个阶段React提供给我们调用的接口,就是生命周期. 生命周期这个东西,必须有项目,才知道他们干嘛的. 1.1 Mouting阶段[装载过程] 这个阶 ...
- django ORM中的RelatedManager(关联管理器)
关联管理器应用在 一对多的表 或者 多对多的表 多对多表中的用法: 在多对多的表中 正向查询 #基于对象的查询 #正查 # author_obj = Author.objects.get(id=1) ...
- js常用设计模式实现(三)建造者模式
创建型模式 创建型模式是对一个类的实例化过程进行了抽象,把对象的创建和对象的使用进行了分离 关于创建型模式,已经接近尾声了,还剩下建造者模式和原型模式,这一篇说一说建造者模式 建造者模式的定义 将一个 ...
- .NET Core 3.0之深入源码理解Kestrel的集成与应用(二)
前言 前一篇文章主要介绍了.NET Core继承Kestrel的目的.运行方式以及相关的使用,接下来将进一步从源码角度探讨.NET Core 3.0中关于Kestrel的其他内容,该部分内容,我们 ...