本文译自: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() 从列表中删除所有的元素。 |
static ArrayAdapter<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 用于对包含在适配器中的对象进行排序比较的比较器。 |