Android常用适配器总结_第1页
Android常用适配器总结_第2页
Android常用适配器总结_第3页
已阅读5页,还剩6页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、Android 常用适配器总结一,适配器 .顾名思义 ,就是把一些数据给弄得适当,适合以便于在 View 上显示。可以看作是界面数据绑定的一种理解。它所操纵的数据一般都是一些 比较复杂的数据,如数组,链表,数据库,集合等。适配器 就像显示器,把复杂的东西按人可以接受的方式来展现。那 么适配器是怎么处理得到的数据,并把它显示出来的呢。其 实很简单,说白了适配器它也是一个类,在类里面它实现了 父类的这几个方法: publicint getCount() / 得到数据的行数public Object getItem(int position)/ 根据 position 得到某一行 的记录public

2、 long getItemId(int position)/ 得到某一条记录的 ID/下面这个方法是最重要的相比于其它几个方法,它显式的 定义了,适配器将要以什么样的方式去显示我们所填充的数 据,在自定义的适配器里面我们通常会给它写个布局文件publicView getView(int position, View convertView, ViewGroup parent) 我们常用的适配器一共有三个, 当然不 包含自定义的适配器,哪三个 那就是 ArrayAdapter , SimpleAdapter ,SimpleCursorAdapter 这三个, 他们都是继承 BaseAdapter

3、其中以 ArrayAdapter 最为简单,只能展示一行字。SimpleAdapter 有最好的扩充性,可以自定义出各种效果。 SimpleCursorAdapter 可以认为是 SimpleAdapter 对数据库的 简单结合,可以方面的把数据库的内容以列表的形式展示出 来。二,一般对于前两个适配器, 他们的数据来源无非就是 String 或者 List 。下面我们列举两个例一子: 例一,数组作为数 据源,填充的是 ArrayAdapter public class Example extends ListActivityString sex = new String()" 男&q

4、uot;,“女” / 数据源ArrayAdapter<String >adapter;/ 数组适配器,用的是泛型public voidonCreate(Bundle SavedInstanceState) super.onCreate(SavedInstanceStat);/在对适配器初始化的时候,顺便把数据 源装载到适配器里,/this.android.R.Layout.Simple_List_Item_1 这句话/的意思是将数据源以系统定义好的样式放到适配器里 .adapter=newArrayAdapter<String(this.android

5、.R.Layout.Sim ple_List_Item_1,sex);this.setAdapter(adapter);/ 这是一个控 件类,所以可以直接将适配器绑定到本身对象中。例二: List 作为数据源, 填充的是 SimpleAdapterListView list =(ListView)findViewById(R.id.MyListView);/生成动态数组,并且转载数据ArrayList<HashMap<String,String>> mylist = newArrayList<HashMap<S

6、tring, 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);/生成适配器,数组 = ListItemSimple

7、Adapter mSchedule = newSimpleAdapter(this, / 没什么解释 mylist,/ 数据来源 R.layout.my_listitem,/ListItem 的 XML 实现 /动态数组与 ListItem 对应的子项new String"ItemTitle", "ItemText", /ListItem 的 XML 文 件里面的两个 TextView ID new intR.id.ItemTitle,R.id.ItemText);/添加并且显示list.setAdapter(mSchedule); 三,应该说着两个例子

8、都不难,都 是一些我们经常见到的用法,那么对于 SimpleCursorAdapter 又是怎么用的呢, SimpleCursorAdapter 一般主要用于数据库, 它的数据来源一般都是数据库查询得到的 Cursor 我们来看 下面的例子:String uriString =“ content:/contacts/people/”;Cursor myCursor=managedQuery(Uri.parse(uriString), null, null, null, null);String fromColumns = newStringPeople.NUMBER, People.NAME;

9、int toLayoutIDs = new intR.TextView, R.id.numberTextView;SimpleCursorAdapter myAdapter;myAdapter=newSimpleCursorAdapter(this,R.layout.simplecurs orlayout,myCursor,fromColumns,toLayoutIDs);/ 传入当前的上下文、个 layout 资源,一个游标和两个数组:一个包含使用的列/的名字,另一个(相同大小)数组包含 View 中的资源 ID ,用于显示相应列的数据值。myListView.setAdapt

10、er(myAdapter);我们把一个游标绑定到了 ListView 上,并使用自定义的 layout 显示来显示每一个 Item 。四,下面我们来定义自己的 适配器。为什么要定义自己的适配器呢,原因就在于, 当我们想用一些其它的展现方式,或者是我们需要的,呈现 方式,这是就得 DIY 了。首先我们定义一个类让它继承自BaseAdapter,再让它实现一里面所说的那几个方法。那么这个自定义适配器就算好了。 里面的一些方法我在上面都介绍过了,在这就不在赘述了。public class ImageAdapter extendsBaseAdapter privateContext mcontext;

11、/构造函数里 面有两个参数,一个是数据的来源,另一个是上下文。public ImageAdapter(Integer imgIds,Context c)mcontext=c;imageIds=imgIds;publicint getCount() / TODOAuto-generated method stubreturn imageIds.length;publicObject getItem(int position) / TODOAuto-generated method stubreturn null;publiclong getItemId(intposition) / TODOAuto-generated method stubreturn position;/主要工作是做在这里,可以 自定义布局,在这里我就不多说了publicView getView(int position, View convertView, ViewGroup parent) / TODO Auto-generated method stubImageViewimageview = newImageView(mco

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论