译者署名: 德罗德
译者链接:http://sparkrico.javaeye.com
翻译时间:2010-11-03
版本:Android 2.2 r1
结构
继承关系
public abstract class BaseAdapter
extends Object implements ListAdapter SpinnerAdapter
java.lang.Object
android.widget.BaseAdapter
子类及间接子类
直接子类
ArrayAdapter<T>, CursorAdapter, SimpleAdapter
间接子类
ResourceCursorAdapter, SimpleCursorAdapter
类概述
用于ListView(实现指定的ListAdapter接口)和Spinner(实现指定的SpinnerAdapter接口)的共同实现一个公共基类适配器。
公共方法
public abstract boolean areAllItemsEnabled ()
在ListAdapter中所有的项目都是可用的?如果是,则代表所有的项目都是可选择,可用鼠标点击的。
返回值
如果所有项目是可用的返回真
public abstract View getDropDownView (int position, View convertView, ViewGroup parent)
获得一个在指定位置上显示下拉弹出数据的视图。
参数
position 想得到项目视图的索引
convertView 如果可能旧有的视图重新使用。注解:在使用之前应该检查这个视图不是空的并且类型合适。如果转换视图显示正确的数据是不可能的,这个方法能够创建一个新的视图
parent 视图最终将依附的父对象。
返回值
一个对应指定位置的数据的视图。
public int getItemViewType (int position)
获取通过getView为指定项目创建的视图的类型。
参数
position 在adapter数据里我们想知道视图类型的项目的位置
返回值
一个整形的视图类型的描述。如果一个视图通过getView(int, View, ViewGroup)方法转换成另一个视图,则两个视图将共享同一类型。注意:整形必须在0和getViewTypeCount()– 1之间。IGNORE_ITEM_VIEW_TYPE也可以返回。
public int getViewTypeCount ()
返回通过getView(int, View, ViewGroup))创建的视图的类型数量。每一个类型表示一组通过getView(int, View, ViewGroup)方法转换过的视图。如果adapter针对所有项目返回相同的视图类型,这个方法返回1。
这个方法仅仅当adapter设置在AdapterView时调用。
返回值
通过这个adapter创建的视图类型的数量
public boolean hasStableIds ()
表明是否项目ID时对基础数据的变化保持稳定的。
返回值
如果相同的ID指相同的对象,返回真
public boolean isEmpty ()
adapter数据项是否等于零
public boolean isEnabled (int position)
如果指定的位置不是一个隔离项目(隔离项目是一个不可选择,不可用鼠标点击的项目)则返回真。如果位置是无效的,其结果将是不确定的。在这种情况下一个ArrayIndexOutOfBoundsException(越界)异常将抛出
参数
position 项目的索引
返回值
如果这个项目不是一个隔离项目则返回真。
public void notifyDataSetChanged ()
通知附属的视图基础数据已经改变,视图应该自动刷新。
public void notifyDataSetInvalidated ()
监控数据的observer不再有效
public void registerDataSetObserver (DataSetObserver observer)
Register an observer that is called when changes happen to the data used by this adapter.
注册一个用于adapter的observer(观察者:监控数据发生改变时被调用)
参数
observer 当数据发生改变时得到通知的对象
public void unregisterDataSetObserver (DataSetObserver observer)
移除先前通过registerDataSetObserver(DataSetObserver)方法注册过的observer(观察者:监控数据发生改变的类)
参数
observer 移除注册的对象
补充
文章链接
Android中万能的BaseAdapter(Spinner,ListView,GridView)的使用!