设为首页 加入收藏

TOP

Android中常用适配器及定义自己的适配器
2014-11-24 12:37:49 来源: 作者: 【 】 浏览:1
Tags:Android 常用 适配器 定义 自己

一,适配器.
顾名思义,就是把一些数据给弄得适当,适合以便于在View上显示。可以看作是界面数据绑定的一种理解。它所操纵的数据一般都是一些比较复杂的数据,如数组,链表, 数据库,集合等。适配器就像显示器,把复杂的东西按人可以接受的方式来展现。


那么适配器是怎么处理得到的数据,并把它显示出来的呢。其实很简单,说白了适配器它也是一个类,在类里面它实现了父类的这几个方法:
publicint getCount() //得到数据的行数


public Object getItem(int position)//根据position得到某一行的记录


public long getItemId(int position)//的到某一条记录的ID


//下面这个方法是最重要的相比于其它几个方法,它显式的定义了,适配器将要 以什么样的


//方式去显示我们所填充的数据,在自定义的适配器里面我们通常会给它写个布局文件


publicView getView(int position, View convertView, ViewGroup parent)


我们常用的适配器一共有三个,当然不包含自定义的适配器,哪三个,我想用过的人都知道



那就是ArrayAdapter,SimpleAdapter,SimpleCursorAdapter 这三个,他们都是继承于BaseAdapter 。


二,一般对于前两个适配器,他们的数据来源无非就是String[]或者List 。下面我们列举两个例一子:
例一,数组作为数据源,填充的是ArrayAdapter
public class Example extends ListActivity{


String[] sex = new String(){"男",“女”}//数据源


ArrayAdapter adapter;//数组适配器,用的是泛型


public voidonCreate(Bundle SavedInstanceState){


super.onCreate(SavedInstanceStat);


//的意识是将数据源以系统定义好的样式放到适配器里.



adapter=newArrayAdapter(this.android.R.Layout.Simple_List_Item_1,sex);


this.setAdapter(adapter);//这是一个控件类,所以可以直接将适配器绑定到本身对象中。


}


}



例二:List作为数据源,填充的是SimpleAdapter


ListView list = (ListView)findViewById(R.id.MyListView);


//生成动态数组,并且转载数据


ArrayList> mylist = newArrayList>();


for(int i=0;i<30;i++)


{


HashMapmap = new HashMap();


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);


}


】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇Android数据库编程:SqLiteOpenHe.. 下一篇利用Bundle实现Android Activity..

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容:

·HTTPS 详解一:附带 (2025-12-26 02:20:37)
·TCP/IP协议到底在讲 (2025-12-26 02:20:34)
·TCP和UDP在socket编 (2025-12-26 02:20:32)
·有没有适合新手练习 (2025-12-26 01:48:47)
·用清华镜像网怎么下 (2025-12-26 01:48:44)