码迷,mamicode.com
首页 > 移动开发 > 详细

Android 适配器BaseAdapter详解

时间:2014-12-05 10:54:04      阅读:206      评论:0      收藏:0      [点我收藏+]

标签:android   io   ar   os   使用   sp   java   on   文件   

public int getCount() 
数据域大小方法

public Object getItem(int arg0)
返回每个Item的数据据

public long getItemId(int arg0)
返回每个Item的ID

View getView(int arg0, View arg1, ViewGroup arg2)
最重要的是:重绘视图,调用次数是由第一个方法确定的。最后将视图返回。
注意:有些控件必须设置成没有获利焦点与点击。
这几个方法写的内容基本不变,具有参考价值。

2.重写数据区域使用ArrayList实现List。
先封装一个数据类,再将这个数据类装进List集合中。

3.绑定数据区域与视图区域
setListAdapter(MyAdapter);
注:MyAdapter是自定义的Adapter。 

其中的getview方法的三个参数是这样的

/**
     * @param position      position就是位置从0开始
     * @param convertView   convertView是Spinner,ListView中每一项要显示的view
     * @param parent        parent就是父窗体了,也就是Spinner,ListView,GridView了
     * @return              通常return 的view也就是convertView
     * 绘制的内容均在此实现
     */
        abstract public View getView(int position, View convertView, ViewGroup parent);
调用getView()逐一绘制每一行。如果你的 getCount()返回值是0的话,列表将不显示,同样return 1,就只显示一行。


系统显示列表时,首先实例化一个适配器(这里将实例化自定义的适配器)。

当手动完成适配时,必须手动映射数据,这需要重写getView()方 法。

系统在绘制列表的每一行的时候将调用此方法。getView()有三个参数,position表示将显示的是第几行,covertView是从布局文 件中inflate来的布局。

我们用LayoutInflater的方法将定义好的item.xml文件提取成View实例用来显示。

然后将xml文件中 的各个组件实例化(简单的findViewById()方法)。这样便可以将数据对应到各个组件上了。

但是按钮为了响应点击事件,需要为它添加点击监听 器,这样就能捕获点击事件。至此一个自定义的listView就完成了,

现在让我们回过头从新审视这个过程。系统要绘制ListView了,他首先获得要 绘制的这个列表的长度,然后开始绘制第一行,怎么绘制呢?

调用getView()函数。在这个函数里面首先获得一个View(实际上是一个 ViewGroup),然后再实例并设置各个组件,显示之。好了,绘制完这一行了。那再绘制下一行,直到绘完为止。



Android 适配器BaseAdapter详解

标签:android   io   ar   os   使用   sp   java   on   文件   

原文地址:http://blog.csdn.net/zm_crazy/article/details/41743923

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!