Android APIs
Added in API level 1
public interface

Adapter

android.widget.Adapter
Known Indirect Subclasses

Class Overview

An Adapter object acts as a bridge between an 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 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
abstract int getCount()
How many items are in the data set represented by this Adapter.
abstract Object 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.
abstract View 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 by getView(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

public static final int IGNORE_ITEM_VIEW_TYPE

Added in API level 1

An item view type that causes the 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, View, ViewGroup).

Constant Value: -1 (0xffffffff)

public static final int NO_SELECTION

Added in API level 1

Constant Value: -2147483648 (0x80000000)

Public Methods

public abstract int getCount ()

Added in API level 1

How many items are in the data set represented by this Adapter.

Returns
int Count of items.

public abstract Object getItem (int position)

Added in API level 1

Get the data item associated with the specified position in the data set.

Parameters
position Position of the item whose data we want within the adapter's data set.
Returns
Object The data at the specified position.

public abstract long getItemId (int position)

Added in API level 1

Get the row id associated with the specified position in the list.

Parameters
position 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.

public abstract int getItemViewType (int position)

Added in API level 1

Get the type of View that will be created by getView(int, View, ViewGroup) for the specified item.

Parameters
position 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.

public abstract View getView (int position, View convertView, ViewGroup parent)

Added in API level 1

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 inflate(int, android.view.ViewGroup, boolean) to specify a root view and to prevent attachment to the root.

Parameters
position The position of the item within the adapter's data set of the item whose view we want.
convertView 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() and getItemViewType(int)).
parent The parent that this view will eventually be attached to
Returns
View A View corresponding to the data at the specified position.

public abstract int getViewTypeCount ()

Added in API level 1

Returns the number of types of Views that will be created by getView(int, View, ViewGroup). Each type represents a set of views that can be converted in getView(int, View, ViewGroup). 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 when the adapter is set on the the AdapterView.

Returns
int The number of types of Views that will be created by this adapter

public abstract boolean hasStableIds ()

Added in API level 1

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.

public abstract boolean isEmpty ()

Added in API level 1

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.

public abstract void registerDataSetObserver (DataSetObserver observer)

Added in API level 1

Register an observer that is called when changes happen to the data used by this adapter.

Parameters
observer the object that gets notified when the data set changes.

public abstract void unregisterDataSetObserver (DataSetObserver observer)

Added in API level 1

Unregister an observer that has previously been registered with this adapter via registerDataSetObserver(DataSetObserver).

Parameters
observer the object to unregister.