正文

  一、结构

    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<? extends Map<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用法)

    示例代码

private ListView lv;
    private List<Map<String,String>> data;
    private SimpleAdapter sAdapter;

lv = (ListView)findViewById(R.id.listview);     
data = new ArrayList<Map<String, Object>>();
    for (int i = 0; i < 10; i++) {
            Map<String, Object> map = new HashMap<String, Object>();
            map.put("title", "APPLE");
            map.put("content", "can eat");
map.put("check", true);
map.put("check1", "true");
            map.put("image", R.drawable.icon);
            data.add(map);
}
sAdapter = new SimpleAdapter(getApplicationContext(), 
                data, 
                R.layout.item, 
        new String[]{"title","content","check","check1","image"},
        new int[]{R.id.title,R.id.content,R.id.check,R.id.check1, R.id.image});
lv.setAdapter(sAdapter);

本文转自over140 51CTO博客,原文链接:http://blog.51cto.com/over140/582592,如需转载请自行联系原作者

Android 中文API (46) —— SimpleAdapter相关推荐

  1. Android ----中文Api 百度地图

    Android中文API最新中文版 [复制链接]     kupe kupe当前离线 在线时间 1 小时 e望 0 点 最后登录 2011-2-17 注册时间 2011-2-17 积分 12 阅读权限 ...

  2. Android 中文API (94) —— MediaController

    前言 本章内容是android.widget.MediaController,版本为Android 2.3 r1,翻译来自"唐明",再次感谢"唐明" !期待你一 ...

  3. Android 中文 API 文档 (45) —— AbsoluteLayout.LayoutParams

    前言 本章内容是 android.widget.AbsoluteLayout.LayoutParams,版本为Android 2.2 r1,翻译来自"绵白糖",再次感谢" ...

  4. Android 中文API (92) —— MenuInflater

    前言 本章内容是android.view.MenuInflater,版本为Android 2.3 r1,翻译来自"獨鍆躌踄",欢迎大家访问他的博客:http://www.cnblo ...

  5. Android 中文 API (90) —— WindowManager

    一.结构 public interface WindowManager extends android.view.ViewManager android.view.WindowManager 二.概述 ...

  6. Android 中文API (70) —— BluetoothDevice[蓝牙]

    前言 本章内容是 android.bluetooth.BluetoothDevice,为Android蓝牙部分的章节翻译.蓝牙设备类,代表了蓝牙通讯国足中的远端设备.版本为 Android 2.3 r ...

  7. Android中文API(127) —— MessageQueue

    结构 继承关系 public class MessageQueue extends Object java.lang.Object android.os.MessageQueue 类概述 保存消息列表 ...

  8. android 中文 API (41) —— RatingBar.OnRatingBarChangeListener

    前言 本章内容是 android.widget.RatingBar.OnRatingBarChangeListener,版本为Android 2.2 r1,翻译来自madgoat,欢迎大家访问他的博客 ...

  9. Android 中文API (91) —— GestureDetector

    前言 本章内容是android.view.GestureDetector,版本为Android 2.3 r1,翻译来自"Haiya 胡蝶",再次感谢"Haiya 胡蝶&q ...

  10. Android 中文 API (93) —— BaseExpandableListAdapter

    前言 本章内容是android.widget.BaseExpandableListAdapter,版本为Android 2.3 r1,翻译来自"天涯明月刀",欢迎大家访问他的博客: ...

最新文章

  1. 深入理解BP神经网络的细节
  2. 面试两个星期来的一点体会
  3. The RAII Programming Idiom
  4. 【Usaco2014Open银组】照相(pairphoto)
  5. linux的网络不可达问题,我的服务器日志中的linux – (网络不可达)错误
  6. python线性回归算法简介_Python实现的简单线性回归算法实例分析
  7. java笔记--重定向输出流实现程序输出到日志
  8. 数据结构上机实践第七周项目2 - 自建算法库——链队(链式队列)
  9. 【果断收藏】16个经典面试问题及回答思路
  10. 冰点密码破解 — 强悍的调试器 SOFTICE
  11. 图灵大会演讲 | 百度首席科学家吴华:NLP技术的演变与发展
  12. 关于pict工具进行测试用例的自动生成过程中:使用 pict.exe test.txt >test.xsl 导出为xls格式的表格文件时,出现拒绝访问的提示解决方案
  13. 南财计算机专业学科评估,江苏软件工程专业大学排名:江苏哪些大学软件工程比较好?...
  14. 集合切分:List集合按照数量切分成若干个集合
  15. Jquery判断动态表格中行数据是否重复
  16. Monitor监控系统
  17. Zabbix监控流程和web界面功能
  18. 联想服务器系统改成win7,联想Win8系统换成Win7的步骤
  19. 艾兰岛编辑器-实体模板
  20. 程序员搞笑对联_程序员的春节对联,拿好不谢!

热门文章

  1. iOS开发那些事-iOS常用设计模式–委托模式案例实现
  2. VMware-workstation-full-8.0.0-471780.exe
  3. 【android】ActivityGroup初体验
  4. java中如何将数字转换成字符串(int转换为string)
  5. CentOS统的7个运行级别的含义
  6. JSP的9个内置对象-session
  7. Ribbon中的负载均衡算法实现
  8. 已知矩阵 matlab,在MATLAB中,已知矩阵A,那么A(:,2:end)表示
  9. e5cc温控仪通讯参数设定_产品介绍||DeltaWiFi通讯型多功能电表DPMC520W
  10. mysql 两张表差集_mysql中两张表使用left join on 求差集详解