前言
本章内容是 android.widget.SimpleAdapter,版本为Android 2.2 r1,翻译来自"德罗德",欢迎大家访问他的博客:http://sparkrico.javaeye.com/,再次感谢"德罗德" !期待你一起参与Android中文API的翻译,联系我over140@gmail.com。
声明
欢迎转载,但请保留文章原始出处:)
博客园:http://www.cnblogs.com/
Android中文翻译组:http://goo.gl/6vJQl
正文
一、结构
public interface
SpinnerAdapter extends
Adapter
java.lang.Object
android.widget.BaseAdapter
android.widget. SpinnerAdapter
二、概述
这是一个简单的适配器,可以将静态数据映射到XML文件中定义好的视图。你可以指定数据支持的列表如ArrayList组成的Map。在ArrayList中的每个条目对应List中的一行。Maps包含每行数据。你可以指定一个定义了被用于显示行的视图XML文件,通过关键字映射到指定的视图。绑定数据到视图分两个阶段,首先,如果一个SimpleAdapter.ViewBinder是有效的,setViewValue(android.view.View,
Object, String)将被调用。如果返回值是真,绑定完成了。如果返回值为假,下面的视图将按以下顺序去处理:
一个实现了Checkable的视图(例如CheckBox),期望绑定值是一个布尔类型。
TextView期望绑定值是一个字符串类型,通过调用setViewText(TextView,
String)绑定。
ImageView期望绑定值是一个资源id或者一个字符串,通过调用setViewImage(ImageView,
int) 或
setViewImage(ImageView, String)。
如果没有一个合适的绑定发生将会抛出IllegalStateException。
三、构造函数
public
SimpleAdapter
(Context context,
List<?extendsMap<String,?>>
data, int resource, String[] from, int[] to)
构造函数
参数
context
关联SimpleAdapter运行着的视图的上下文。
data
一个Map的列表。在列表中的每个条目对应列表中的一行,应该包含所有在from中指定的条目
resource
一个定义列表项目的视图布局的资源唯一标识。布局文件将至少应包含哪些在to中定义了的名称。
from
一个将被添加到Map上关联每一个项目的列名称的列表
to
应该在参数from显示列的视图。这些应该全是TextView。在列表中最初的N视图是从参数from中最初的N列获取的值。
四、公共方法
public int
getCount
()
获取数据集中记录总行数
public
View
getDropDownView
(int position,
View convertView,
ViewGroup parent)
获得一个在指定位置上显示下拉弹出数据的视图。
参数
position
想得到项目视图的索引
convertView如果可能旧有的视图重新使用。注解:在使用之前应该检查这个视图不是空的并且类型合适。如果转换视图显示正确的数据是不可能的,这个方法能够创建一个新的视图
parent
视图最终将依附的父对象
返回值
一个对应指定位置的数据的视图。
public
Filter
getFilter
()
返回一个可以通过一种过滤模式来约束数据的过滤器。
这个方法通常被Adapter类实现。
返回值
一个用于约束数据的过滤器
public abstract
Object
getItem
(int position)
获取数据集中指定位置上的数据项目
参数
position在adapter中我们想得到项目的位置。
返回值
指定位置上的数据。
public abstract long
getItemId
(int position)
获取数据集中指定位置上的行ID。
参数
position在adapter中我们想得到的行ID的项目的位置。
返回值
指定位置上的数据。
public abstract
View
getView
(int position,
View convertView,
ViewGroup parent)
获取一个显示数据集中指定位置数据段视图。可以手动创建视图,或者从XML设计文件填充。当视图从XML设计文件填充时,父视图(如GridView,ListView等)将接受默认的设计参数,除非使用inflate(int,
android.view.ViewGroup, boolean)去指定一个根视图和防止依附于根视图。
参数
position我们想要的在adapter中的数据项目的位置
convertView如果可能旧有的视图重新使用。注解:在使用之前应该检查这个视图不是空的并且类型合适。如果转换视图显示正确的数据是不可能的,这个方法能够创建一个新的视图
parent
视图最终将依附的父对象。
返回值
一个在指定位置上相应的数据的视图。
public
SimpleAdapter.ViewBinder
getViewBinder
()
返回被用来绑定数据到视图的SimpleAdapter.ViewBinder
。
返回值
一个ViewBinder
,如果binder不存在则返回null
参见
setViewBinder(android.widget.SimpleAdapter.ViewBinder)
public void
setDropDownViewResource
(int resource)
设置创建下拉视图的布局资源
参数
resource
定义下拉视图的布局资源
参见
getDropDownView(int,
android.view.View, android.view.ViewGroup)
public void
setViewBinder
(SimpleAdapter.ViewBinder
viewBinder)
设置binder用于绑定数据到视图
参数
viewBinder
用于绑定数据到视图的binder可以设置为null,可用于删除存在的binder
参见
getViewBinder()
public void
setViewImage
(ImageView v, int value)
调用bindView去给ImageView设置图像,但只有当ViewBinder不存在或者如果存在的ViewBinder无法处理绑定到一个ImageView时才调用。如果提供的数据是一个整形时,setViewImage(ImageView,
String)方法将被本方法替代
参数
v 接收图像的ImageView
value
从数据集获取数据到值
参见
setViewImage(ImageView,
String)
public void
setViewImage
(ImageView v,
String value)
调用bindView去给ImageView设置图像,但只有当ViewBinder不存在或者如果存在的ViewBinder无法处理绑定到一个ImageView时才调用。默认的,这个值被作为一个图像资源来对待。如果这个值作为一个图像的Uri来使用。如果提供的数据不是一个整形时,setViewImage(ImageView,
int)方法将被本方法替代
参数
v
接收图像的ImageView
value
从数据集获取数据到值
参见
setViewImage(ImageView, int)
public void
setViewText
(TextView v,
String text)
调用bindView去给TextView设置文本,但只有当ViewBinder不存在或者如果存在的ViewBinder无法处理绑定到一个TextView时才调用
参数
v
将接收文本的TextView
text
被设置到TextView的文本
五、补充
文章精选
简约而不简单——Android SimpleAdapter
android listview组件之ArrayAdapter,SimpleAdapter
Android用simpleAdapter来直接显示BMP图片(有ViewBinder用法)
示例代码
分享到:
相关推荐
SimpleAdapter adapter = new SimpleAdapter(this, getData(), R.layout.list_item, new String[] { "img", "title", "info" }, new int[] { R.id.img, R.id.title, R.id.info }); lv.setAdapter...
自己编写的,SimpleAdapter简单列子,供初学者参考
Android的SimpleAdapter的一些简单应用,讲图片和列表结合。
ArrayAdapter和SimpleAdapter是适配器的两种。ListView控件是最常用的控件之一,ListView的经常使用ArrayAdapter和SimpleAdapter来加载数据源。ArrayAdapter(数组适配器)用作展现简单的纯文字列表;SimpleAdapter...
SimpleAdapter实现的GalleryDemo
SimpleAdapter BaseAdapter 基本使用
ListView和SimpleAdapter的简单应用
ArrayAdapter和simpleAdapter的回顾,好长时间都没有写android了,今天出来溜溜,这个写的是最初的功能。 就是listview。simpleAdapter是左图片右文本、 这个适合初学者玩下。
使用SimpleAdapter创建ListView
ListView通用SimpleAdapter适配器;原文:http://blog.csdn.net/xiaominghimi/archive/2011/04/04/6300897.aspx
这个是用SimpleAdapter实现了ListView的数据填充,并实现绚丽的表格效果,表格的样式可以自己随意定义,自己觉得对于初学者用ListView做表格效果是一个不错demo
安卓Android源码——(列表SimpleAdapter适配).rar
Android Studio —— SimpleAdapter (模仿魅蓝设置界面)。详情查看:https://blog.csdn.net/automoblie0/article/details/122631004
NULL 博文链接:https://thinkgoogle.iteye.com/blog/1313519
ListView使用simpleAdapter填充实现,数据结构是HashMap,对应的我的博客地址是: http://blog.csdn.net/u012320459/article/details/47667869
ListView和SimpleAdapter形成导航简单实例。
如何借助SimpleAdapter和Spinner实现下拉列表.zip,欢迎下载!
《List控件使用---SimpleAdapter使用详解(一)》博文对应源码,该博文讲解了怎样使用simpleAdapter及派生自BaseAdater的ListView的使用方法,博客地址:...
原创博客中“那些复杂的列表总要弄个清楚——(二)用SimpleAdapter做适配器 ”的代码
安卓Android源码——(列表之SimpleAdapter适配).zip