Android类说明---ArrayAdapter
本文译自:http://developer.android.com/reference/android/widget/ArrayAdapter.html
继承关系
java.lang.Object
|___android.widget.BaseAdapter
|___android.widget.ArrayAdapter<T>
类概要
通过任意类型对象数组返回的一个具体的BaseAdapter类。默认情况下,这个类期望给它提供一个TextView资源id的引用。如果你想使用更复杂的布局,就要使用带有资源id参数的构造器。这个资源id应该是一个较大布局资源中的TextView的引用。
但是,被引用的TextView对象会使用数组中每个对象的toString()方法来进行填充。你可以添加自定义对象的列表或数组。重写你的对象的toString()方法,以便决定在列表项目中要显示的文本。
要使用TextView以外的可视部件来显示数组内容,例如ImageView,或要把除了toString()结果以外的数据填充到View中,就要重写getView(int, View, ViewGroup)方法来返回你想要的类型。
Inherited Constants
来自接口android.widget.Adapter的常量
Public Constructors
public ArrayAdapter(Context context, int textViewResourceId)
参数:context 当前的上下文环境
textViewResourceId 包含在布局文件中的TextView的资源ID,在实例化View时使用。
public ArrayAdapter(Context context, int resource, int textViewResourceId)
参数:context 当前的上下文环境
resource 一个布局文件的资源ID,它包含了实例化View时使用的布局。
textViewResourceId 要填入布局资源内部的TextView资源的id。
public ArrayAdapter(Context context, int textViewResourceId, T[] objects)
参数:context 当前的上下文环境
textViewResourceId 指定布局文件中包含的TextView资源的ID,它会在实例化View对象时使用。
objects 代表ListView中的对象
public ArrayAdapter(Context context, int resource, int textViewResourceId, T[] objects)
参数:context 当前的上下文环境
resource 一个布局文件的资源ID,它包含了实例化View时使用的布局。
textViewResourceId指定布局文件中包含的TextView资源的ID,它会在实例化View对象时使用。
objects代表ListView中的对象
public ArrayAdapter(Context context, int textViewResourceId, List<T> objects)
参数:context 当前的上下文环境
textViewResourceId指定布局文件中包含的TextView资源的ID,它会在实例化View对象时使用。
objects 代表ListView中的对象
public ArrayAdapter(Context context, int resource, int textViewResourceId, List<T> objects)
参数:context当前的上下文环境
resource一个布局文件的资源ID,它包含了实例化View时使用的布局。
textViewResourceId指定布局文件中包含的TextView资源的ID,它会在实例化View对象时使用。
Objects代表ListView中的对象
Public Methods
void
add(T object)
把指定的对象添加到数组的末尾。
参数:object 指定要添加到数组末尾的对象
void
addAll(Collection<?extends T> collection)
把指定的数据集合添加到数组的末尾
参数:collection指定了要添加到数组末尾的数据集合。
void
addAll(T… items)
把指定的项目添加到数组的末尾
参数:items 指定要添加到数组末尾的数据项目。
void
clear()
从列表中删除所有的元素。
staticArrayAdapter<CharSequence>
createFromResource(Context context, int textArrayResId, int textViewResId)
用外部的资源创建一个新的ArrayAdapter。通过getTextArray(int)方法来获得数组的内容。
参数:context 应用程序的上下文环境。
textArrayResId 用于数据源的数组标识.
textViewResId 用于创建View的布局标识。
返回值:ArrayAdapter
Context
getContext()
返回跟该数组适配器相关联的上下文环境。这个上下文环境用于创建从资源中传递给构造器的View。
返回值:跟该适配器相关联的上下文环境。
int
getCount()
View
getDropDownView(int position, View convertView, ViewGroup parent)
获得弹出的下拉列表中指定位置的可视构件。
参数:position 我们想要获取的可视构件项目的索引
convertView 如果可能,它指定一个旧的可重用的View对象。注意:你应该检查这个View是非空的并且类型适当,然后再使用。如果它不能转换这个View来显示正确的数据,那么这个方法可以创建一个新的View对象。
parent 跟这个View最终绑定的父对象。
返回值跟指定位置数据对应的View对象。
Filter
getFilter()
返回一个用于限制数据的过滤器(带有过滤模式)。
这个方法通常由Adapter类来实现。
返回值用于限制数据的过滤器。
T
getItem(int position)
long
getItemId(int position)
int
getPosition(T item)
返回指定数组中的项目的索引。
参数 item 要获取索引的项目
返回值指定项目的索引。
View
getView(int position, View converView, ViewGroup parent)
Void
Insert(T object, int index)
在指定的数组中索引位置插入指定的对象。
参数:object 要插入数组中的对象
index 对象必须要插入的索引位置
void
notifyDataSetChanged()
通知绑定的观察者,数据已经发生变化了,任何反映数据集的View都应该自我刷新。
void
Remove(T object)
从数组中删除执行的对象
参数:object 要删除的对象
void
setDropDownViewResource(int resource)
设置布局资源,来创建下拉的View
参数 resource 定义下拉View的布局资源
void
setNotifyOnChange(boolean notifyOnChange)
控制改变列表的方法(add(T)、insert(T, int)、remove(T)、clear()等)是否自动的调用notifyDataSetChanged()方法。如果设置为false,那么调用者必须手动的调用notifyDataSetChanged()方法,让改变反映到绑定的View中。默认值是true,并且调用notifyDataSetChanged()方法后会把这个flag重设为true。
参数:notifyOnChange 如果是true,对列表的编辑会自动的调用notifyDataSetChanged()方法。
void
sort(Comparator<? super T> comparator)
使用指定的比较器对适配器中的内容进行排序。
参数:comparator 用于对包含在适配器中的对象进行排序比较的比较器。