把复杂的数据(数组、链表、数据库、集合等)填充到指定的视图界面上。
 
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. oracle后台进程2

    oracle中的进程共分为三类:用户进程.服务进程.后台进程.其中后台进程伴随实例的启动而启动,他们主要是维护数据库的稳定,相当于一个企业中的管理者及内部服务人员.他们并不会直接给用户提供服务. 一: ...

  2. JqueryUI-1

    本文在于巩固基础 学习网址:http://jqueryui.com/ 基本概念:jQuery UI[是以 jQuery 为基础的开源 JavaScript 网页用户界面代码库.包含底层用户交互.动画. ...

  3. PropertyGrid—默认属性,默认事件,属性默认值

    零.引言 PropertyGrid显示一个对象的属性和事件时,可以设置其默认属性和事件,也就是当你选中对象时,propertyGrid中焦点在哪一个属性或事件上.为对象的属性提供默认值,使Proper ...

  4. Fiddler 跟踪 手机页面数据包

    随着 HTML5 的急速增长,现在越来越多的人,开始涉及到移动终端的 Web 开发领域,但手机端始终没有 PC 端这么多的调试工具.即使 PC 端浏览器模拟 user-agent 进行开发,也可能会发 ...

  5. RequiredFieldValidator验证下拉列表框

    <asp:DropDownList ID="DropDownList1" runat="server" CssClass="style01&qu ...

  6. FPGrowth算法原理

    算法实现: /** * FPGrowth算法的主要思想: * 1. 构造频繁1项集:遍历初始数据集构造频繁1项集,并作为项头表,建立将指向fpTree节点对应元素的引用 * 2. 构造FPTree:再 ...

  7. oracle11g用户名密码不区分大小写

    oracle 11g 以前的版本的用户名和密码是不区分大小写的; oracle 11g 用户名和密码默认区分大小写,可更改alter system set sec_case_sensitive_log ...

  8. C++ 动态分配类对象

    1.概念 在C++中,类的对象建立分为两种,一种是静态建立,如A a:另一种是动态建立,如A* ptr=new A:这两种方式是有区别的. 静态建立一个类对象,是由编译器为对象在栈空间中分配内存,是通 ...

  9. C#获取Excel Sheet名称,对特殊字符、重名进行了处理

    /// <summary>        /// 获取指定Excel内Sheet集合        /// </summary>        /// <param na ...

  10. Linux学习--alias命令

    alias用于设置命令的别名,具体相应命令如下: 1.alias显示当前设置的别名 2.设置命令别名:  alias  命令名=‘别名命令’ 3.显示指定的别名设置:alias name 4.取消相应 ...