public abstract class BaseAdapter
extends Object
implements ListAdapter, SpinnerAdapter
java.lang.Object | |
↳ | android.widget.BaseAdapter |
Known Direct Subclasses |
Known Indirect Subclasses |
Adapter
通用基类,可用于 ListView
(通过实现专门的 ListAdapter
接口)和 Spinner
(通过实现专门的 SpinnerAdapter
接口)。
Inherited constants |
---|
From interface android.widget.Adapter
|
Public constructors |
|
---|---|
BaseAdapter() |
Public methods |
|
---|---|
boolean |
areAllItemsEnabled() 指示是否启用此适配器中的所有项目。 |
View |
getDropDownView(int position, View convertView, ViewGroup parent) |
int |
getItemViewType(int position) 获取指定项目将由 |
int |
getViewTypeCount() 返回将由 |
boolean |
hasStableIds() 指示项目id在基础数据更改期间是否稳定。 |
boolean |
isEmpty() |
boolean |
isEnabled(int position) 如果指定位置上的项目不是分隔符,则返回true。 |
void |
notifyDataSetChanged() 通知附属的观察者,底层数据已被更改,任何反映数据集的视图都应该自行刷新。 |
void |
notifyDataSetInvalidated() 通知所附的观察员,底层数据不再有效或可用。 |
void |
registerDataSetObserver(DataSetObserver observer) 注册一个在此适配器使用的数据发生更改时调用的观察者。 |
void |
unregisterDataSetObserver(DataSetObserver observer) 通过 |
Inherited methods |
|
---|---|
From class java.lang.Object
|
|
From interface android.widget.ListAdapter
|
|
From interface android.widget.SpinnerAdapter
|
|
From interface android.widget.Adapter
|
boolean areAllItemsEnabled ()
指示是否启用此适配器中的所有项目。 如果此方法返回的值随时间而改变,则不能保证其生效。 如果为true,则表示所有项目都是可选择的并且可点击(没有分隔符)。
Returns | |
---|---|
boolean |
True if all items are enabled, false otherwise. |
View getDropDownView (int position, View convertView, ViewGroup parent)
获取一个 View
,它在下拉式弹出 View
中显示数据集中指定位置的数据。
Parameters | |
---|---|
position |
int : index of the item whose view we want. |
convertView |
View : the old view to reuse, if possible. Note: You should check that this view is non-null and of an appropriate type before using. If it is not possible to convert this view to display the correct data, this method can create a new view. |
parent |
ViewGroup : the parent that this view will eventually be attached to |
Returns | |
---|---|
View |
a View corresponding to the data at the specified position. |
int getItemViewType (int position)
获取指定项目将由 getView(int, View, ViewGroup)
创建的视图类型。
Parameters | |
---|---|
position |
int : The position of the item within the adapter's data set whose view type we want. |
Returns | |
---|---|
int |
An integer representing the type of View. Two views should share the same type if one can be converted to the other in getView(int, View, ViewGroup) . Note: Integers must be in the range 0 to getViewTypeCount() - 1. IGNORE_ITEM_VIEW_TYPE can also be returned. |
int getViewTypeCount ()
返回将由getView(int, View, ViewGroup)
创建的视图类型的数量。 每种类型代表一组可以在getView(int, View, ViewGroup)
转换的getView(int, View, ViewGroup)
。 如果适配器始终为所有项返回相同类型的视图,则此方法应返回1。
只有当适配器设置在 AdapterView
上时才会调用此方法。
Returns | |
---|---|
int |
The number of types of Views that will be created by this adapter |
boolean hasStableIds ()
指示项目id在基础数据更改期间是否稳定。
Returns | |
---|---|
boolean |
True if the same id always refers to the same object. |
boolean isEnabled (int position)
如果指定位置上的项目不是分隔符,则返回true。 (分隔符是不可选择的,不可点击的项目)。 如果位置无效,则结果未指定。 在这种情况下应该抛出ArrayIndexOutOfBoundsException
以便快速失败。
Parameters | |
---|---|
position |
int : Index of the item |
Returns | |
---|---|
boolean |
True if the item is not a separator |
void notifyDataSetChanged ()
通知附属的观察者,底层数据已被更改,任何反映数据集的视图都应该自行刷新。
void notifyDataSetInvalidated ()
通知所附的观察员,底层数据不再有效或可用。 一旦调用此适配器不再有效,不应报告更多的数据集更改。
void registerDataSetObserver (DataSetObserver observer)
注册一个在此适配器使用的数据发生更改时调用的观察者。
Parameters | |
---|---|
observer |
DataSetObserver : the object that gets notified when the data set changes. |
void unregisterDataSetObserver (DataSetObserver observer)
通过 registerDataSetObserver(DataSetObserver)
取消注册先前已通过此适配器注册的观察者。
Parameters | |
---|---|
observer |
DataSetObserver : the object to unregister. |