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。
相关推荐
笔记本电脑维修思路先查一下,电源适配器有无电压输出,如有,再查生成12V,5V,3。3V的电源供电芯片有没有基准电压和待机电压5V,还有电池充电器有没有供电,CPU供电电路有没有3。3V的供电,有没有基准电压,电源...
本次,我们主要介绍一下VMWare主要提供的三种常用的网络适配器模式,分别是NAT、桥接、仅主机。好了,接下来我们就逐一讲解一下这几个网络适配器的配置及作用。 2.仅主机模式(Host-only) 2.1 Host-Only模式概念 ...
Android自定义适配器
[刚刚上传的demo运行有问题,重新传了个新的],这个的一个iOS的适配器模式的实例代码,目前就是一个简单的demo,后期还会更新适配器在 MVC,MVP,MVVM中的使用,demo对应着简书:https://www.jianshu.com/p/e2ebcf19098f,...
西门子-SIMATIC PG_PC - PROFIBUS PC 适配器 USB A2 操作说明pdf,西门子-SIMATIC PG_PC - PROFIBUS PC 适配器 USB A2 操作说明LED指示灯说明如下: LED 指示灯的含义 一、LED指示灯绿色(ACTIVITY) 1).LED 灭: 未...
Android实现自定义适配器的ExpandableListView示例,准备一级列表中显示的数据:2个一级列表,分别显示"group1"和"group2",准备第一个一级列表中的二级列表数据:两个二级列表,分别显示"childData1"和"childData2",...
java设计模式【之】适配器模式【源码】【场景:水和容器】 * 适配器模式,类似(亡羊补牢) * 已经存在的类(功能已经开发完成了),与新需求的功能相似,但是略有差异 * 当已经存在的方法无法满足现有需求,需要...
万能网络适配器驱动器,万能网络适配器驱动器万能网络适配器驱动器万能网络适配器驱动器万能网络适配器驱动器万能网络适配器驱动器万能网络适配器驱动器万能网络适配器驱动器
ORA-12560 TNS 协议适配器错误
这里面存放的是我博客中BaseAapter适配器的学习代码
适配器模式的Java实现版本,包含类适配器模式和对象适配器模式的实现,同时也包含两者的UML类图
本文主要讲了9v电源适配器电路原理图,希望对你的学习有所帮助。
修改蓝牙适配器的MAC地址和广播RAWDATA
USB 红外线适配器 驱动,一直在用很好用
为避免这种事件的发生,MAX8844禁止从高于7.5V的输入电源充电,能够承受并阻止高达28V的输入,可有效保护电池、充电器及下行电路,防止错误地连接到其它任何类型的适配器。此外,MAX8844具有过压保护LDO,从USB和...
安装蓝牙适配器的时候 有缺失文件 这个就管用 安装前下载备用
windows自带的驱动无法满足蓝牙适配器的应用需求,该蓝牙适配器驱动与管理器能满足PC与手机蓝牙通信,PC机与蓝牙音箱、耳机等等的通信需求
C#设计模式之适配器模式应用实例
充电器、电源适配器产品安规知识ppt,充电器、电源适配器产品安规知识
万能的蓝牙驱动 Widcomm本来只能用于经过认证的蓝牙产品,但是破解以后的可以装到任何蓝牙适配器上. 蓝牙适配器万能驱动管理手机特别方便,比XP自带强很多