- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Android常用适配器总结
一,适配器.? ?? ?? ? 顾名思义,就是把一些数据给弄得适当,适合以便于在View上显示。可以看作是界面数据绑定的一种理解。它所操纵的数据一般都是一些比较复杂的数据,如数组,链表,数据库,集合等。适配器就像显示器,把复杂的东西按人可以接受的方式来展现。那么适配器是怎么处理得到的数据,并把它显示出来的呢。其实很简单,说白了适配器它也是一个类,在类里面它实现了父类的这几个方法:publicintgetCount() //得到数据的行数public Object getItem(int position)//根据position得到某一行的记录public long getItemId(int position)//得到某一条记录的ID//下面这个方法是最重要的相比于其它几个方法,它显式的定义了,适配器将要以什么样的方式去显示我们所填充的数据,在自定义的适配器里面我们通常会给它写个布局文件publicViewgetView(int position, View convertView, ViewGroup parent)??我们常用的适配器一共有三个,当然不包含自定义的适配器,哪三个?那就是ArrayAdapter,SimpleAdapter,SimpleCursorAdapter 这三个,他们都是继承BaseAdapter其中以ArrayAdapter最为简单,只能展示一行字。SimpleAdapter有最好的扩充性,可以自定义出各种效果。SimpleCursorAdapter可以认为是SimpleAdapter对数据库的简单结合,可以方面的把数据库的内容以列表的形式展示出来。二,一般对于前两个适配器,他们的数据来源无非就是String[]或者List 。下面我们列举两个例一子:例一,数组作为数据源,填充的是ArrayAdapter? ???public class Example extends ListActivity{? ?? ?String[] sex = new String(){男,“女”}//数据源? ?? ?ArrayAdapter??adapter;//数组适配器,用的是泛型? ?? ?public voidonCreate(Bundle SavedInstanceState){? ?? ?? ?? ?? ? super.onCreate(SavedInstanceStat);?? ?? ?? ?? ?? ? //在对适配器初始化的时候,顺便把数据源装载到适配器里,? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ???//this.android.R.Layout.Simple_List_Item_1这句话? ?? ?? ?? ?? ?? ? //的意思是将数据源以系统定义好的样式放到适配器里.? ?? ?? ?? ??? ?? ?? ?? ?? ? adapter=newArrayAdapter? ?? ?? ?? ?? ?? ? this.setAdapter(adapter);//这是一个控件类,所以可以直接将适配器绑定到本身对象中。? ?? ?? ?? ?? ?? ?? ?? ?}? ?? ?? ?? ?? ? }? ?? ?? ?? ?例二:List作为数据源,填充的是SimpleAdapter? ?? ?? ?? ?? ?? ? ListView list = (ListView)findViewById(R.id.MyListView);? ?? ???? ?? ?? ?? ?? ?? ?? ???//生成动态数组,并且转载数据? ?? ?? ?? ?? ?? ?? ? ArrayList mylist = newArrayList();? ?? ?? ?? ?? ?? ?? ? for(inti=0;i30 ispan? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?{? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?HashMapmap = new HashMap();? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?map.put(ItemTitle,This is Title.....);? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?map.put(ItemText,This is text.....);? ?? ?? ?? ?? ?? ?? ?? ?? ???mylist.add(map);? ?? ?? ?? ?? ?? ?? ?? ?? ???}? ?? ?? ?? ?? ?? ???//生成适配器,数组===》ListItem? ?? ?? ?? ??
文档评论(0)