Adapter | API reference | Android Developers (original) (raw)
public interface Adapter
``
Known indirect subclasses
ArrayAdapter, BaseAdapter, CursorAdapter, HeaderViewListAdapter, ListAdapter, ResourceCursorAdapter, SimpleAdapter, SimpleCursorAdapter, SpinnerAdapter, ThemedSpinnerAdapter, WrapperListAdapter
An Adapter object acts as a bridge between an [AdapterView](/reference/android/widget/AdapterView)
and the underlying data for that view. The Adapter provides access to the data items. The Adapter is also responsible for making a [View](/reference/android/view/View)
for each item in the data set.
Summary
Constants | |
---|---|
int | IGNORE_ITEM_VIEW_TYPE An item view type that causes the AdapterView to ignore the item view. |
int | NO_SELECTION |
Public methods | |
---|---|
defaultCharSequence[] | getAutofillOptions() Gets a string representation of the adapter data that can helpAutofillService autofill the view backed by the adapter. |
abstract int | getCount() How many items are in the data set represented by this Adapter. |
abstractObject | getItem(int position) Get the data item associated with the specified position in the data set. |
abstract long | getItemId(int position) Get the row id associated with the specified position in the list. |
abstract int | getItemViewType(int position) Get the type of View that will be created by getView(int, View, ViewGroup) for the specified item. |
abstractView | getView(int position, View convertView, ViewGroup parent) Get a View that displays the data at the specified position in the data set. |
abstract int | getViewTypeCount() Returns the number of types of Views that will be created bygetView(int, View, ViewGroup). |
abstract boolean | hasStableIds() Indicates whether the item ids are stable across changes to the underlying data. |
abstract boolean | isEmpty() |
abstract void | registerDataSetObserver(DataSetObserver observer) Register an observer that is called when changes happen to the data used by this adapter. |
abstract void | unregisterDataSetObserver(DataSetObserver observer) Unregister an observer that has previously been registered with this adapter via registerDataSetObserver(DataSetObserver). |
Constants
IGNORE_ITEM_VIEW_TYPE
public static final int IGNORE_ITEM_VIEW_TYPE
An item view type that causes the [AdapterView](/reference/android/widget/AdapterView)
to ignore the item view. For example, this can be used if the client does not want a particular view to be given for conversion in[getView(int, android.view.View, android.view.ViewGroup)](/reference/android/widget/Adapter#getView%28int,%20android.view.View,%20android.view.ViewGroup%29)
.
Constant Value: -1 (0xffffffff)
NO_SELECTION
public static final int NO_SELECTION
Constant Value: -2147483648 (0x80000000)
Public methods
getAutofillOptions
public CharSequence[] getAutofillOptions ()
Gets a string representation of the adapter data that can help[AutofillService](/reference/android/service/autofill/AutofillService)
autofill the view backed by the adapter.
It should only be set (i.e., non-null
if the values do not represent PII (Personally Identifiable Information - sensitive data such as email addresses, credit card numbers, passwords, etc...). For example, it's ok to return a list of month names, but not a list of usernames. A good rule of thumb is that if the adapter data comes from static resources, such data is not PII - see[ViewStructure.setDataIsSensitive(boolean)](/reference/android/view/ViewStructure#setDataIsSensitive%28boolean%29)
for more info.
Returns | |
---|---|
CharSequence[] | null by default, unless implementations override it. |
getCount
public abstract int getCount ()
How many items are in the data set represented by this Adapter.
Returns | |
---|---|
int | Count of items. |
getItem
public abstract Object getItem (int position)
Get the data item associated with the specified position in the data set.
Parameters | |
---|---|
position | int: Position of the item whose data we want within the adapter's data set. |
Returns | |
---|---|
Object | The data at the specified position. |
getItemId
public abstract long getItemId (int position)
Get the row id associated with the specified position in the list.
Parameters | |
---|---|
position | int: The position of the item within the adapter's data set whose row id we want. |
Returns | |
---|---|
long | The id of the item at the specified position. |
getItemViewType
public abstract int getItemViewType (int position)
Get the type of View that will be created by [getView(int, View, ViewGroup)](/reference/android/widget/Adapter#getView%28int,%20android.view.View,%20android.view.ViewGroup%29)
for the specified item.
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. |
getView
public abstract View getView (int position, View convertView, ViewGroup parent)
Get a View that displays the data at the specified position in the data set. You can either create a View manually or inflate it from an XML layout file. When the View is inflated, the parent View (GridView, ListView...) will apply default layout parameters unless you use[LayoutInflater.inflate(int, android.view.ViewGroup, boolean)](/reference/android/view/LayoutInflater#inflate%28int,%20android.view.ViewGroup,%20boolean%29)
to specify a root view and to prevent attachment to the root.
Parameters | |
---|---|
position | int: The position of the item within the adapter's data set 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. Heterogeneous lists can specify their number of view types, so that this View is always of the right type (see getViewTypeCount() andgetItemViewType(int)). |
parent | ViewGroup: The parent that this view will eventually be attached to |
Returns | |
---|---|
View | A View corresponding to the data at the specified position. |
getViewTypeCount
public abstract int getViewTypeCount ()
Returns the number of types of Views that will be created by[getView(int, View, ViewGroup)](/reference/android/widget/Adapter#getView%28int,%20android.view.View,%20android.view.ViewGroup%29)
. Each type represents a set of views that can be converted in [getView(int, View, ViewGroup)](/reference/android/widget/Adapter#getView%28int,%20android.view.View,%20android.view.ViewGroup%29)
. If the adapter always returns the same type of View for all items, this method should return 1.
This method will only be called when the adapter is set on the [AdapterView](/reference/android/widget/AdapterView)
.
Returns | |
---|---|
int | The number of types of Views that will be created by this adapter |
hasStableIds
public abstract boolean hasStableIds ()
Indicates whether the item ids are stable across changes to the underlying data.
Returns | |
---|---|
boolean | True if the same id always refers to the same object. |
isEmpty
public abstract boolean isEmpty ()
Returns | |
---|---|
boolean | true if this adapter doesn't contain any data. This is used to determine whether the empty view should be displayed. A typical implementation will return getCount() == 0 but since getCount() includes the headers and footers, specialized adapters might want a different behavior. |
registerDataSetObserver
public abstract void registerDataSetObserver (DataSetObserver observer)
Register an observer that is called when changes happen to the data used by this adapter.
Parameters | |
---|---|
observer | DataSetObserver: the object that gets notified when the data set changes. |
unregisterDataSetObserver
public abstract void unregisterDataSetObserver (DataSetObserver observer)
Unregister an observer that has previously been registered with this adapter via [registerDataSetObserver(DataSetObserver)](/reference/android/widget/Adapter#registerDataSetObserver%28android.database.DataSetObserver%29)
.
Parameters | |
---|---|
observer | DataSetObserver: the object to unregister. |