把复杂的数据(数组、链表、数据库、集合等)填充到指定的视图界面上。
 
arrayAdapter(数组适配器):
     用于绑定一些格式单一的数据,数据源:数据或者集合。
 
private ListView listView ;
        private ArrayAdapter<String> adapter ;
        private SimpleAdapter simpleAdapter;
        @Override
        protected void onCreate(Bundle savedInstanceState) {
               super.onCreate(savedInstanceState);
              setContentView(R.layout. activity_main);
               listView=(ListView) findViewById(R.id. listView1);
               /**
               * 新建一个数据适配器
               * arrayadapter(上下文,当前 listview加载的每个列表项所对应的布局文件,所对应的数据源)
               */
              String[] data={ "az","az1" };
               adapter= new ArrayAdapter<String>(this ,android.R.layout.simple_list_item_1,data);
               //使用视图(listview)加载适配器
               listView.setAdapter( adapter);
       }
 
SimpleAdapter(简单适配器):
     用于绑定一些格式复杂的适配器,数据源:只能是特定的泛型集合。
private ListView listView ;
private SimpleAdapter simpleAdapter ;
 
               /**
               * context:上下文
               * data:数据源(特定的泛型集合) List<? extends Map<String, ?>> data 一个MAP所组成的LIST集合
               * ,每一个MAP都会对应 listview列表中的一行,每一个map中的KAY必须要包含所有在from中所指定的键
               * from:map中的键名
               * resource:列表项的布局文件
               * to:绑定数据视图中的ID,与from成对应关系
               */
               datalist= new ArrayList<Map<String, Object>>();
               simpleAdapter=new SimpleAdapter(this, getdata(), R.layout.activity_main , new String[]{"image", "text"}, new int[]{R.id.imageView1 ,R.id.textView1});
               listView.setAdapter( simpleAdapter);
 
private List<Map<String, Object>> getdata(){
               for (int i = 0; i < 20; i++) {
                     Map<String, Object>map= new HashMap<String,Object>();
                     map.put( "image", R.drawable.ic_launcher);
                     map.put( "text", "az" );
                      datalist.add(map);
              }
               return datalist ;
       }
 
数据适配器是链接数据源和视图界面的桥梁。
 
实现过程:新建适配器——添加数据源到适配器——视图加载适配器

Android 数据适配器的更多相关文章

  1. Android数据适配器(Adapter)优化:使用高效的ViewHolder

    原文链接:http://stackvoid.com/using-adapter-in-efficiency-way/ 在使用Listview或GridView的时候,往往须要自己定义数据适配器.一般都 ...

  2. Android数据适配器Adapter简介

    1.简介 Adapter是用来帮助填充数据的中间桥梁,简单点说就是:将各种数据以合适的形式显示到view上,在常见的View(List View,Grid View)等地方都需要用到Adapter! ...

  3. Android 常用数据适配器SimpleAdapter

    在<Android 常用数据适配器ArrayAdapter>中介绍了ArrayAdapter数据适配器.但是存在一个缺陷,那就是条目的图标都固定相同,要显示每个条目的图标都不相同,那么使用 ...

  4. Android 常用数据适配器ArrayAdapter

    接着上篇文章<Android 采用Layout Inflater创建一个View对象>,本文采用常用数据适配器ArrayAdapter 新建项目后,在layout文件夹下新建list_it ...

  5. 无废话Android之listview入门,自定义的数据适配器、采用layoutInflater打气筒创建一个view对象、常用数据适配器ArrayAdapter、SimpleAdapter、使用ContentProvider(内容提供者)共享数据、短信的备份、插入一条记录到系统短信应用(3)

    1.listview入门,自定义的数据适配器 <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/and ...

  6. Android必学之数据适配器BaseAdapter

    什么是数据适配器? 下图展示了数据源.适配器.ListView等数据展示控件之间的关系.我们知道,数据源是各种各样的,而ListView所展示数据的格式则是有一定的要求的.数据适配器正是建立了数据源与 ...

  7. Android学习之Adapter(数据适配器)

    1.定义     数据适配器是AdapterView视图(如ListView - 列表视图控件.Gallery - 缩略图浏览器控件.GridView - 网格控件.Spinner - 下拉列表控件. ...

  8. ListView和Adapter数据适配器的简单介绍

    ListView 显示大量相同格式数据 常用属性: listSelector            listView每项在选中.按下等不同状态时的Drawable divider            ...

  9. Android进阶笔记10:Android 万能适配器

    1. Android 万能适配器      项目中Listview GridView几乎是必用的组件,Android也提供一套机制,为这些控件绑定数据,那就是Adapter.用起来虽然还不错,但每次都 ...

随机推荐

  1. IIS中如何建立FTP服务

    文件传输协议 (FTP) 是一个标准协议,可用来通过 Internet 将文件从一台计算机移到另一台计算机.这些文件存储在运行 FTP 服务器软件的服务器计算机上.然后,远程计算机可以使用 FTP 建 ...

  2. Linux学习2——文件与目录

    一.写在前面  在本节将介绍Linux下文件与目录的一些基本概念以及一些基本操作. 二.完成目标 1.了解文件和目录的一些基本概念 2.操作文件和目录的相关命令 3.文件内容查阅命令 4.文件查询命令 ...

  3. Import MySQL Dumpfile, SQL Datafile Into My Database

    How can I import a MySQL dumpfile into my database? I'm using CentOS Linux 5 server. My old hosting ...

  4. C#读取txt文件返回DATATABLE

    //1.打开资源管理器 OpenFileDialog open = new OpenFileDialog(); if (open.ShowDialog() == DialogResult.OK) { ...

  5. 用JQuery实现表格隔行变色和突出显示当前行

    用JQuery实现表格隔行变色和突出显示当前行 上源码 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "htt ...

  6. log4j学习笔记

    在java文件中导入包: import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; 在所使 ...

  7. linux系统下memcached启动正常但程序无法连接的问题解决

    在虚拟机linux安装好memcached之后,试着用java程序连接一下memcached的服务端,但却出现了以下错误 com.schooner.MemCached.SchoonerSockIOPo ...

  8. 如果有需要确解MD5的,可以尝试这个网站。

    http://www.hashkiller.co.uk/md5-decrypter.aspx

  9. js数组(二)

    一.位置方法 indexOf()和laseIndexOf() indexOf是从数组的第0项开始向后查找,没有找到返回-1,要求使用=== var numbers = [1,2,3,4,5,4,3,2 ...

  10. 前端开发面试题收集 JS

    前端开发面试题收集-JS篇 收集经典的前端开发面试题 setTimeout的时间定义为0有什么用? javascript引擎是单线程处理任务的,它把任务放在队列中,不会同步执行,必须在完成一个任务后才 ...