ListView与SimpleAdapter(三)
一般用于只有两个控件的列表。
使用SimpleAdapter 的数据是以List<Map<String,?>>形式封装数据, List的每一节对应ListView的每一行。 HashMap的每个键值 数据映射到布局文件中对应id的组件上。因为系统没有对应的布局文件可用, 我们可以自己定义一个布局文件。
activity_main.xml
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity" >
<ListView
android:layout_height="match_parent"
android:layout_width="match_parent"
android:id="@+id/lv"> </ListView> </RelativeLayout>
MainActivity.java
package com.example.simpleadapter; import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map; import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
import android.widget.ListView;
import android.widget.SimpleAdapter; public class MainActivity extends Activity { private ListView lv; @Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
lv = (ListView) findViewById(R.id.lv);
// 模拟数据
List<Map<String, Object>> data = new ArrayList<Map<String, Object>>();
for (int i = 0; i < 20; i++) {
// 一个Map就是对应了一个条目的数据
Map<String, Object> map = new HashMap<String, Object>();
map.put("name", "老师" + i);
map.put("age", 30);
data.add(map);
}
/*
创建一个简单SimpleAdapter对象
第一个参数Context上下文
第二个参数data要显示的数据集合
第三个参数id指定一个作为ListView的子条目的布局文件
第四个参数String[]定义得MAP中key组成的数组
第五个参数int[]控件的id组成数组,必须与第四个参数的key一一对应
*/
SimpleAdapter adapter = new SimpleAdapter(this, // context上下文
data, // data 数据
android.R.layout.simple_list_item_2,// resource 条目的布局
new String[] { "name", "age" },// from 数据从哪里来 key
new int[] { android.R.id.text1, android.R.id.text2 });// to数据到哪里
lv.setAdapter(adapter); // 条目里面控件的id
}
}
效果图如下:
ListView与SimpleAdapter(三)的更多相关文章
- ListView与SimpleAdapter
Adapter可以视作控件与数据之间的桥梁 对ListView做自由布局和填充需要使用到Adapter,这里我们采用SimpleAdapter. 简单来说: 1.定义一个ListItem,其数据结构是 ...
- 滚动视图、列表视图[ListView、SimpleAdapter类]
滚动视图 <ScrollView android: layout_width="fill_parent" android: layout_height="fill_ ...
- 安卓开发_浅谈ListView(SimpleAdapter数组适配器)
安卓开发_浅谈ListView(ArrayAdapter数组适配器) 学习使用ListView组件和SimapleAdapter适配器实现一个带图标的ListView列表 总共3部分 一.MainAc ...
- ListView 搭配SimpleAdapter
这是SimplerAdapter的构造函数 public SimpleAdapter(Context context, List<? extends Map<String, ?>&g ...
- ListView之SimpleAdapter
SimpleAdapter是安卓内置的适配器,本文展示的是listview的子项为{图片,文件}组合 如下图所示: 具体代码: SimpleAdapter_test.java /* ListView ...
- AdapterView及其子类之四:基于ListView及SimpleAdapter实现列表
代码请见SimpleAdapterDemo.zip. 步骤如下: 1.创建主布局文件 <RelativeLayout xmlns:android="http://schemas.and ...
- Android ListView 之 SimpleAdapter 二 (包含 item 中按钮监听)
1 MainActivity.java package com.myadapter; import java.util.ArrayList; import java.util.HashMap; ...
- Android应用项目中BaseAdapter、SimpleAdapter和ArrayAdapter中的三种适配器
一.写在前面: 本次我们来讲解一下Android应用中三个适配器:BaseAdapter.SimpleAdapter和ArrayAdapter.其中常见的是BaseAdapter,也是个人推荐使用的适 ...
- 关于SimpleAdapter和ListView结合使用,实现列表视图的笔记
使用ListView需要为其添加适配器: 适配器有两种:1.ArrayAdapter --用于单独文字显示 2.SimpleAdapter --用于文字和图片显示 这里主要记录SimpleAdapt ...
随机推荐
- url请求老是有 之前的部分url
url请求的时候老是会有之前的部分url <form action="shiro/register" method="POST"> 解决方法,加上本 ...
- PHP 函数 ignore_user_abort()详解笔记
定义和用法 ignore_user_abort()函数设置与客户机断开是否会终止脚本的执行 语法 ignore_user_abort(setting) 参数 描述 setting 可选.如果设置为 ...
- C# 基于Aspose.Cells的数据导出到Excel
using Aspose.Cells; void WriteToExcel(string filePath, List<object[]> datas, string sheetName ...
- eclipse maven install没反应解决办法
.打开eclipse的Window菜单-->java-->Installed JREs .点击用的jdk,edit,在Default VM arguments里面填入-Dmaven.mul ...
- linux centos重置mysql密码教程
第一步 查看确定安装了mysql # rpm -qa|grep -i mysql 执行效果如下 第二步 重启mysql: # /etc/init.d/mysqld 截图如下 因为我已经开了,所以用re ...
- python 在列表,元组,字典变量前加*号
废话不说,直接上代码(可能很多人以前不知道有这种方法): a=[1,2,3]b=(1,2,3)c={1:"a",2:"b",3:"c"}pr ...
- [转]Hive开发总结
看到一篇挺不错的hive开发总结文章,在此转载一下,有兴趣的可以去看原文,传送门HIVE开发总结. 基本数据类型 查看所有函数 搜索函数 搜索表 查看函数使用方法 关键字补全 显示表头 SET环境变量 ...
- c# ListBox控件
ListBox控件可以一次呈现多个项,并且语序对控件中的选项进行选择操作,ListBox类公开Items属性,它是一个集合,类型为ListBox.ObjectCollection,是ListBox的一 ...
- maven 入门 (一)
纠结了好久,到底要不要写一份maven入门的所谓“教程”,有好几次想写一下,但是都放弃了,因为网上的太多了,而且都很好,但是现在决定了,还是要写出来,因为者有我自己的理解.所以我想写一份教程出来. 首 ...
- Shell变量相关
li@ubuntu:~/test$ vi test.sh li@ubuntu:~/test$ cat test.sh #!/bin/bash #shell变量不加引号;加单引号;加双引号都行 url= ...