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电源适配器是日常生活中常见的一种电子设备,它能够将交流电或直流电转换成特定电压的直流电源,以适应各类电子产品的电源需求。电源适配器的核心技术在于其电路原理图的设计,这涉及到电子工程领域的多个知识点。...
今天我们要探讨的是JAVA设计中的两个重要模式:抽象类与适配器模式。 首先,我们来理解一下“抽象”。抽象是面向对象编程的核心概念之一,它帮助我们处理对象的复杂性。在Java中,抽象通常通过抽象类来实现。抽象类...
适配器模式是一种常用的设计模式,它在软件工程中扮演着重要的角色,允许不兼容的接口之间进行通信。在这个Java实现中,我们将深入探讨适配器模式的两大类型:类适配器模式和对象适配器模式,并通过具体的代码示例和...
标题中的“1394网络适配器驱动”指的是基于IEEE 1394接口的网络适配器所需的一种驱动程序。IEEE 1394,通常被称为FireWire或i.LINK,是一种高速数据传输标准,最初由Apple公司开发,后来成为一种广泛应用于计算机和...
为了保持与网络的畅通连接,网络适配器成为了计算机硬件系统中至关重要的组件。网络适配器,又称网卡或NIC(Network Interface Card),是负责实现计算机与网络之间数据传输的硬件设备。而驱动程序作为网络适配器与...
USB红外线适配器驱动是将红外通讯技术与USB接口结合的一种硬件设备,它使得计算机可以通过红外线进行数据传输。这种适配器广泛应用于没有内置红外功能或需要增强红外功能的电脑,尤其在需要无线传输小量数据,如文档...
在Android开发中,适配器(Adapter)是一个关键的概念,它起到了桥梁的作用,连接数据源与视图组件,使得数据可以被显示在ListView、GridView、Spinner等控件中。BaseAdapter是所有自定义适配器的基类,它提供了一个...
【鸿洋recyclerview万能适配器实战】 在Android开发中,RecyclerView因其高效、灵活的特性,成为展示列表数据的标准组件。本项目基于鸿洋(Hongyang)的RecyclerView万能适配器,旨在通过实例来深入理解并掌握...
标题中的“USB 串口适配器修改软件工具”是一个专为USB串口适配器设计的应用程序,它允许用户对设备进行特定的配置或修改。在这个场景中,该工具的功能集中在修改蓝牙适配器的MAC地址和广播RAWDATA。MAC地址(Media ...
协议适配器错误解决方法 协议适配器错误是指在数据库管理系统中,协议适配器无法正常工作,导致数据库无法启动或连接失败。这种错误可能是由于多种原因引起的,如监听服务没有启动、数据库实例没有启动、注册表问题...
Win7 隧道适配器关闭方法 Win7 隧道适配器关闭方法是指关闭 Win7 操作系统中多余的隧道适配器,以方便查看网卡 IP 地址。Windows 操作系统在 IPv6 迁移过程中需要使用一种或多种 IPv6 过渡技术,导致系统中存在多条...
本次,我们主要介绍一下VMWare主要提供的三种常用的网络适配器模式,分别是NAT、桥接、仅主机。好了,接下来我们就逐一讲解一下这几个网络适配器的配置及作用。 2.仅主机模式(Host-only) 2.1 Host-Only模式概念 ...
适配器模式是一种在软件工程中广泛使用的结构型设计模式,它允许两个不兼容的接口之间进行通信。在Java中,适配器模式扮演着重要的角色,尤其在处理遗留代码或者第三方库集成时,能够有效地解决接口不匹配的问题。...
12V1A电源适配器的电路原理图 电源适配器是各种电子设备中不可或缺的组件,它们在维持电子设备的稳定运行中扮演着非常重要的角色。今天,我们将要讨论的就是12V1A电源适配器的电路原理图,这个电路原理图展示了电源...
### Microsoft LoopBack Adapter 配置为系统的主网络适配器 #### 一、概述 Microsoft LoopBack Adapter 是一种特殊的网络适配器,主要用于在没有实际网络连接的情况下进行网络功能的测试。这种虚拟适配器可以在不...
根据给定文件的信息,我们可以详细地探讨笔记本电源适配器的工作原理及其维修方法。电源适配器是笔记本电脑中至关重要的部件之一,它负责将市电转换为适合笔记本内部电路工作的电压,确保笔记本电脑能够正常运行。 ...
适配器模式是一种软件设计模式,它允许两个不兼容的接口之间进行通信。在这个案例中,我们关注的是如何通过适配器模式解决实际编程问题。文章《适配器模式案例代码》提供了具体的实现示例,链接指向了CSDN博主...
Android 常用适配器总结 Android 中的适配器是一种非常重要的组件,它负责将复杂的数据转换为可被 View 显示的形式。适配器可以看作是界面数据绑定的理解,它可以处理复杂的数据,如数组、链表、数据库、集合等,并...
标题中的“Broadcom 802.11n 网络适配器”指的是由Broadcom公司生产的符合802.11n无线局域网标准的网络适配器。802.11n是Wi-Fi联盟认证的一个无线局域网(WLAN)标准,它在2.4 GHz和5 GHz频段上运行,最大理论传输...
适配器模式是一种软件设计模式,它允许两个不兼容的接口之间进行通信。在iOS开发中,这种模式尤其有用,因为我们需要将不同的组件或库集成到一个统一的系统中,而这些组件或库可能有着各自独立的设计和接口。适配器...