`

适配器

阅读更多

android的适配器:将数据绑定到视图上去,以何种方式来展示显示的格式。其作用其实是连接数据和AdpterView的桥梁。

理清楚 数据源,AdpterView,适配器之间的关系

AdpterView:Gallery,ListView和Spinner,Gridview等是AdapterView的子类。

通常的,我们有使用三个适配器:ArrayAdpter, SimpleAdpter,SimpleCursorAdpter.它们都继承自BaseAdpter.

重点关心它们的数据源

 

ArrayAdpter:实现简单的listview的数据绑定,默认情况下绑定每个对象的toString值到layout中预先定义好的Textview上。注意这个参数的顺序和意义就行了,this表示上写文。ArrayAdapter<String>(this,Android.R.Layout.Simple_List_Item_1,sex);这边注意一下,继承了listactivity,该activity只能有一个listview,已经封装了一个listview在其中,所以可以不需要setcontview()方法来绑定布局。关于listactivty的用法读者可以找点资料看看。

public class Example extends ListActivity{
                    String[] sex = new String(){"男",“女”}//数据源
                    ArrayAdapter<String>  adapter;//数组适配器,用的是泛型
                    public voidonCreate(Bundle SavedInstanceState){
                    super.onCreate(SavedInstanceStat);
                    //在对适配器初始化的时候,顺便把数据源装载到适配里,                                              
                  //this.Android.R.Layout.Simple_List_Item_1这句话的意思是将数据源以系统定义好的样式放           到适配器里.            
                   adapter=newArrayAdapter<String>(this,Android.R.Layout.Simple_List_Item_1,sex);
                   this.setAdapter(adapter);//这是一个控件类,所以可以直接将适配器绑定到本身对象中。
                        }
                }

 

SimpleAdpter:notifyDataSetChange()可以刷新adpterview上的数据,相当于html中页面重加载一样。这了也注意SimpleAdapter(this, mylist,//数据来源 R.layout.my_listitem,// 每行的布局//动态数组与ListItem对应的子项。可以通过对listview.setOnItemClickListener来设置对每列的监听事件。         

                      new   String[]{"ItemTitle", "ItemText"}, //ListItem的XML文件里面的两个TextView ID  new int[]  {R.id.ItemTitle,R.id.ItemText});

                    

   List作为数据源,填充的是SimpleAdapter
                        ListView list = (ListView)findViewById(R.id.MyListView);       
                       //生成动态数组,并且转载数据
                      ArrayList<HashMap<String, String>> mylist = newArrayList<HashMap<String, String>>();
                      for(int i=0;i<30;i++)
                              {
                                       HashMap<String, String>map = new HashMap<String, String>();
                                       map.put("ItemTitle","This is Title.....");
                                       map.put("ItemText","This is text.....");
                             mylist.add(map);
                             }
                    //生成适配器,数组===》ListItem
             SimpleAdapter mSchedule = new SimpleAdapter(this, //没什么解释 mylist,//数据来源      R.layout.my_listitem,//ListItem的XML实现 //动态数组与ListItem对应的子项          

                      new   String[]{"ItemTitle", "ItemText"}, //ListItem的XML文件里面的两个TextView ID  new int[]  {R.id.ItemTitle,R.id.ItemText});
                     //添加并且显示
                      list.setAdapter(mSchedule);
                    }

 

 

 

SimpleCursorAdpter:

 

SimpleCursorAdapter一般主要用于数据库,它的数据来源一般都是数据库查询得到的Cursor 我们来看下面的例子:
                    String uriString = “content://contacts/people/”;

                     Cursor myCursor =managedQuery(Uri.parse(uriString), null, null, null, null);
          String[] fromColumns = new String[]{People.NUMBER, People.NAME};
                    int[] toLayoutIDs = new int[] {R.id.nameTextView, R.id.numberTextView};
                   SimpleCursorAdapter myAdapter;
                   myAdapter=newSimpleCursorAdapter(this,R.layout.simplecursorlayout,myCursor,fromColumns,
                   toLayoutIDs);//传入当前的上下文、一个layout资源,一个游标和两个数组:一个包含使用的列   
                   //的名字,另一个(相同大小)数组包含View中的资源ID,用于显示相应列的数
                   据值。
                   myListView.setAdapter(myAdapter);
我们把一个游标绑定到了ListView上,并使用自定义的layout显示来显示每一个Item。

 

 

分享到:
评论

相关推荐

    9v电源适配器电路原理图

    9v电源适配器是日常生活中常见的一种电子设备,它能够将交流电或直流电转换成特定电压的直流电源,以适应各类电子产品的电源需求。电源适配器的核心技术在于其电路原理图的设计,这涉及到电子工程领域的多个知识点。...

    JAVA设计模式(抽象类与适配器模式)

    今天我们要探讨的是JAVA设计中的两个重要模式:抽象类与适配器模式。 首先,我们来理解一下“抽象”。抽象是面向对象编程的核心概念之一,它帮助我们处理对象的复杂性。在Java中,抽象通常通过抽象类来实现。抽象类...

    设计模式之适配器模式Java实现和类设计图

    适配器模式是一种常用的设计模式,它在软件工程中扮演着重要的角色,允许不兼容的接口之间进行通信。在这个Java实现中,我们将深入探讨适配器模式的两大类型:类适配器模式和对象适配器模式,并通过具体的代码示例和...

    1394网络适配器驱动

    标题中的“1394网络适配器驱动”指的是基于IEEE 1394接口的网络适配器所需的一种驱动程序。IEEE 1394,通常被称为FireWire或i.LINK,是一种高速数据传输标准,最初由Apple公司开发,后来成为一种广泛应用于计算机和...

    万能网络适配器驱动器

    万能网络适配器驱动器是计算机硬件系统中不可或缺的一部分,尤其对于经常需要更换或升级网络设备的用户来说,它的重要性不言而喻。网络适配器,也称为网卡或者NIC(Network Interface Card),是计算机连接到网络的...

    USB 红外线适配器 驱动

    USB红外线适配器驱动是将红外通讯技术与USB接口结合的一种硬件设备,它使得计算机可以通过红外线进行数据传输。这种适配器广泛应用于没有内置红外功能或需要增强红外功能的电脑,尤其在需要无线传输小量数据,如文档...

    Android 适配器——BaseAdapter

    在Android开发中,适配器(Adapter)是一个关键的概念,它起到了桥梁的作用,连接数据源与视图组件,使得数据可以被显示在ListView、GridView、Spinner等控件中。BaseAdapter是所有自定义适配器的基类,它提供了一个...

    鸿洋recyclerview万能适配器实战

    【鸿洋recyclerview万能适配器实战】 在Android开发中,RecyclerView因其高效、灵活的特性,成为展示列表数据的标准组件。本项目基于鸿洋(Hongyang)的RecyclerView万能适配器,旨在通过实例来深入理解并掌握...

    USB 串口适配器修改软件工具

    标题中的“USB 串口适配器修改软件工具”是一个专为USB串口适配器设计的应用程序,它允许用户对设备进行特定的配置或修改。在这个场景中,该工具的功能集中在修改蓝牙适配器的MAC地址和广播RAWDATA。MAC地址(Media ...

    协议适配器错误解决方法

    协议适配器错误解决方法 协议适配器错误是指在数据库管理系统中,协议适配器无法正常工作,导致数据库无法启动或连接失败。这种错误可能是由于多种原因引起的,如监听服务没有启动、数据库实例没有启动、注册表问题...

    Win7 隧道适配器关闭方法

    Win7 隧道适配器关闭方法 Win7 隧道适配器关闭方法是指关闭 Win7 操作系统中多余的隧道适配器,以方便查看网卡 IP 地址。Windows 操作系统在 IPv6 迁移过程中需要使用一种或多种 IPv6 过渡技术,导致系统中存在多条...

    VMWare网络适配器解释及设置(NAT、桥接、仅主机)

    本次,我们主要介绍一下VMWare主要提供的三种常用的网络适配器模式,分别是NAT、桥接、仅主机。好了,接下来我们就逐一讲解一下这几个网络适配器的配置及作用。 2.仅主机模式(Host-only) 2.1 Host-Only模式概念 ...

    12V1A电源适配器的电路原理图.pdf

    12V1A电源适配器的电路原理图 电源适配器是各种电子设备中不可或缺的组件,它们在维持电子设备的稳定运行中扮演着非常重要的角色。今天,我们将要讨论的就是12V1A电源适配器的电路原理图,这个电路原理图展示了电源...

    java设计模式之适配器模式

    适配器模式是一种在软件工程中广泛使用的结构型设计模式,它允许两个不兼容的接口之间进行通信。在Java中,适配器模式扮演着重要的角色,尤其在处理遗留代码或者第三方库集成时,能够有效地解决接口不匹配的问题。...

    笔记本电源适配器电原理图

    根据给定文件的信息,我们可以详细地探讨笔记本电源适配器的工作原理及其维修方法。电源适配器是笔记本电脑中至关重要的部件之一,它负责将市电转换为适合笔记本内部电路工作的电压,确保笔记本电脑能够正常运行。 ...

    适配器模式案例代码

    适配器模式是一种软件设计模式,它允许两个不兼容的接口之间进行通信。在这个案例中,我们关注的是如何通过适配器模式解决实际编程问题。文章《适配器模式案例代码》提供了具体的实现示例,链接指向了CSDN博主...

    Android 常用适配器总结

    Android 常用适配器总结 Android 中的适配器是一种非常重要的组件,它负责将复杂的数据转换为可被 View 显示的形式。适配器可以看作是界面数据绑定的理解,它可以处理复杂的数据,如数组、链表、数据库、集合等,并...

    ( Broadcom 802.11n 网络适配器

    标题中的“Broadcom 802.11n 网络适配器”指的是由Broadcom公司生产的符合802.11n无线局域网标准的网络适配器。802.11n是Wi-Fi联盟认证的一个无线局域网(WLAN)标准,它在2.4 GHz和5 GHz频段上运行,最大理论传输...

    iOS 设计模式 适配器模式

    适配器模式是一种软件设计模式,它允许两个不兼容的接口之间进行通信。在iOS开发中,这种模式尤其有用,因为我们需要将不同的组件或库集成到一个统一的系统中,而这些组件或库可能有着各自独立的设计和接口。适配器...

    设计模式之适配器模式

    适配器模式是一种常用的设计模式,它在软件工程中扮演着重要的角色,特别是在解决系统间的兼容性和接口不匹配问题时。适配器模式的核心思想是将一个类的接口转换成客户希望的另一个接口,使原本由于接口不兼容而无法...

Global site tag (gtag.js) - Google Analytics