把复杂的数据(数组、链表、数据库、集合等)填充到指定的视图界面上。
 
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. VMware虚拟机中调整Linux分区大小手记(转发)

      前段时间用VMware5.5安装了CentOS5.3,安装的时候分配了5Gb的虚拟硬盘空间给Linux系统,系统安装选择很多组件和软件,后面使用时又安装也一些软件,结果导致虚拟硬盘空间不足.查看分 ...

  2. 这是第二道题内容要求写一个银行的ATM系统 这个浪费了好长时间 ,遇到了许多问题,不过都解决了,上程序

    下面的4个用户是我宿舍的,当然我是钱最多的,呵呵! #include<iostream>#include<string>using namespace std; class c ...

  3. Centos 配置ASP.Net Core 运行环境

    一:ASP.Net Core跨平台运行,需要在Linux安装运行环境.本机器使用的Centos,下载安装地址为:https://www.microsoft.com/net/core#centos su ...

  4. ASP .Net Core 使用 Dapper 轻型ORM框架

    一:优势 1,Dapper是一个轻型的ORM类.代码就一个SqlMapper.cs文件,编译后就40K的一个很小的Dll. 2,Dapper很快.Dapper的速度接近与IDataReader,取列表 ...

  5. Android L 之 RecyclerView 、CardView 、Palette

    转: http://blog.csdn.net/xyz_lmn/article/details/38735117 <Material Design>提到,Android L版本中新增了Re ...

  6. 1.offsetParent,offsetLeft,offsetTop

    offsetParent <!doctype html> <html> <head> <meta charset="utf-8"> ...

  7. Messenger类的使用

    一.Messenger类 作用:类似Message类,但是是跨进程使用的. 解析:它的底层是由AIDL实现的,从构造方法可以看出 //Service使用 public Messenger(Handle ...

  8. Python学习笔记(四)Python函数的参数

    Python的函数除了正常使用的必选参数外,还可以使用默认参数.可变参数和关键字参数. 默认参数 基本使用 默认参数就是可以给特定的参数设置一个默认值,调用函数时,有默认值得参数可以不进行赋值,如: ...

  9. [转]数组引用:C++ 数组做参数 深入分析

    "数组引用"以避免"数组降阶"(本文曾贴于VCKBASE\C++论坛) 受[hpho]的一段模板函数的启发,特写此文,如有雷同,实在遗憾. 数组降阶是个讨厌的事 ...

  10. SQL Server 改变数据库的名字

    方法 1: alter database modiry name = new_database_name; ---------------------------------------------- ...