Skip to content

Most visited

Recently visited

navigation

AdapterView

public abstract class AdapterView
extends ViewGroup

java.lang.Object
   ↳ android.view.View
     ↳ android.view.ViewGroup
       ↳ android.widget.AdapterView<T extends android.widget.Adapter>
Known Direct Subclasses
Known Indirect Subclasses


An AdapterView is a view whose children are determined by an Adapter.

See ListView, GridView, Spinner and Gallery for commonly used subclasses of AdapterView.

Developer Guides

For more information about using AdapterView, read the Binding to Data with AdapterView developer guide.

Summary

Nested classes

class AdapterView.AdapterContextMenuInfo

Extra menu information provided to the onCreateContextMenu(ContextMenu, View, ContextMenuInfo) callback when a context menu is brought up for this AdapterView. 

interface AdapterView.OnItemClickListener

Interface definition for a callback to be invoked when an item in this AdapterView has been clicked. 

interface AdapterView.OnItemLongClickListener

Interface definition for a callback to be invoked when an item in this view has been clicked and held. 

interface AdapterView.OnItemSelectedListener

Interface definition for a callback to be invoked when an item in this view has been selected. 

Inherited XML attributes

From class android.view.ViewGroup
From class android.view.View

Constants

int INVALID_POSITION

Represents an invalid position.

long INVALID_ROW_ID

Represents an empty or invalid row id

int ITEM_VIEW_TYPE_HEADER_OR_FOOTER

The item view type returned by getItemViewType(int) when the item is a header or footer.

int ITEM_VIEW_TYPE_IGNORE

The item view type returned by getItemViewType(int) when the adapter does not want the item's view recycled.

Inherited constants

From class android.view.ViewGroup
From class android.view.View

Inherited fields

From class android.view.View

Public constructors

AdapterView(Context context)
AdapterView(Context context, AttributeSet attrs)
AdapterView(Context context, AttributeSet attrs, int defStyleAttr)
AdapterView(Context context, AttributeSet attrs, int defStyleAttr, int defStyleRes)

Public methods

void addView(View child, int index)

This method is not supported and throws an UnsupportedOperationException when called.

void addView(View child)

This method is not supported and throws an UnsupportedOperationException when called.

void addView(View child, ViewGroup.LayoutParams params)

This method is not supported and throws an UnsupportedOperationException when called.

void addView(View child, int index, ViewGroup.LayoutParams params)

This method is not supported and throws an UnsupportedOperationException when called.

CharSequence getAccessibilityClassName()

Return the class name of this object to be used for accessibility purposes.

abstract T getAdapter()

Returns the adapter currently associated with this widget.

int getCount()
View getEmptyView()

When the current adapter is empty, the AdapterView can display a special view called the empty view.

int getFirstVisiblePosition()

Returns the position within the adapter's data set for the first item displayed on screen.

Object getItemAtPosition(int position)

Gets the data associated with the specified position in the list.

long getItemIdAtPosition(int position)
int getLastVisiblePosition()

Returns the position within the adapter's data set for the last item displayed on screen.

final AdapterView.OnItemClickListener getOnItemClickListener()
final AdapterView.OnItemLongClickListener getOnItemLongClickListener()
final AdapterView.OnItemSelectedListener getOnItemSelectedListener()
int getPositionForView(View view)

Returns the position within the adapter's data set for the view, where view is a an adapter item or a descendant of an adapter item.

Object getSelectedItem()
long getSelectedItemId()
int getSelectedItemPosition()

Return the position of the currently selected item within the adapter's data set

abstract View getSelectedView()
void onProvideAutofillStructure(ViewStructure structure, int flags)

Called when assist structure is being retrieved from a view as part of an autofill request.

It also sets the autofill options in the structure; when overridden, it should set it as well, either explicitly by calling setAutofillOptions(CharSequence[]) or implicitly by calling super.onProvideAutofillStructure(structure, flags).

boolean performItemClick(View view, int position, long id)

Call the OnItemClickListener, if it is defined.

void removeAllViews()

This method is not supported and throws an UnsupportedOperationException when called.

void removeView(View child)

This method is not supported and throws an UnsupportedOperationException when called.

void removeViewAt(int index)

This method is not supported and throws an UnsupportedOperationException when called.

abstract void setAdapter(T adapter)

Sets the adapter that provides the data and the views to represent the data in this widget.

void setEmptyView(View emptyView)

Sets the view to show if the adapter is empty

void setFocusable(int focusable)

Sets whether this view can receive focus.

void setFocusableInTouchMode(boolean focusable)

Set whether this view can receive focus while in touch mode.

void setOnClickListener(View.OnClickListener l)

Register a callback to be invoked when this view is clicked.

void setOnItemClickListener(AdapterView.OnItemClickListener listener)

Register a callback to be invoked when an item in this AdapterView has been clicked.

void setOnItemLongClickListener(AdapterView.OnItemLongClickListener listener)

Register a callback to be invoked when an item in this AdapterView has been clicked and held

void setOnItemSelectedListener(AdapterView.OnItemSelectedListener listener)

Register a callback to be invoked when an item in this AdapterView has been selected.

abstract void setSelection(int position)

Sets the currently selected item.

Protected methods

boolean canAnimate()

Indicates whether the view group has the ability to animate its children after the first layout.

void dispatchRestoreInstanceState(SparseArray<Parcelable> container)

Override to prevent thawing of any views created by the adapter.

void dispatchSaveInstanceState(SparseArray<Parcelable> container)

Override to prevent freezing of any views created by the adapter.

void onDetachedFromWindow()

This is called when the view is detached from a window.

void onLayout(boolean changed, int left, int top, int right, int bottom)

Called from layout when this view should assign a size and position to each of its children.

Inherited methods

From class android.view.ViewGroup
From class android.view.View
From class java.lang.Object
From interface android.view.ViewParent
From interface android.view.ViewManager
From interface android.graphics.drawable.Drawable.Callback
From interface android.view.KeyEvent.Callback
From interface android.view.accessibility.AccessibilityEventSource

Constants

INVALID_POSITION

added in API level 1
int INVALID_POSITION

Represents an invalid position. All valid positions are in the range 0 to 1 less than the number of items in the current adapter.

Constant Value: -1 (0xffffffff)

INVALID_ROW_ID

added in API level 1
long INVALID_ROW_ID

Represents an empty or invalid row id

Constant Value: -9223372036854775808 (0x8000000000000000)

ITEM_VIEW_TYPE_HEADER_OR_FOOTER

added in API level 1
int ITEM_VIEW_TYPE_HEADER_OR_FOOTER

The item view type returned by getItemViewType(int) when the item is a header or footer.

Constant Value: -2 (0xfffffffe)

ITEM_VIEW_TYPE_IGNORE

added in API level 1
int ITEM_VIEW_TYPE_IGNORE

The item view type returned by getItemViewType(int) when the adapter does not want the item's view recycled.

Constant Value: -1 (0xffffffff)

Public constructors

AdapterView

added in API level 1
AdapterView (Context context)

Parameters
context Context

AdapterView

added in API level 1
AdapterView (Context context, 
                AttributeSet attrs)

Parameters
context Context

attrs AttributeSet

AdapterView

added in API level 1
AdapterView (Context context, 
                AttributeSet attrs, 
                int defStyleAttr)

Parameters
context Context

attrs AttributeSet

defStyleAttr int

AdapterView

added in API level 21
AdapterView (Context context, 
                AttributeSet attrs, 
                int defStyleAttr, 
                int defStyleRes)

Parameters
context Context

attrs AttributeSet

defStyleAttr int

defStyleRes int

Public methods

addView

added in API level 1
void addView (View child, 
                int index)

This method is not supported and throws an UnsupportedOperationException when called.

Parameters
child View: Ignored.

index int: Ignored.

Throws
UnsupportedOperationException Every time this method is invoked.

addView

added in API level 1
void addView (View child)

This method is not supported and throws an UnsupportedOperationException when called.

Parameters
child View: Ignored.

Throws
UnsupportedOperationException Every time this method is invoked.

addView

added in API level 1
void addView (View child, 
                ViewGroup.LayoutParams params)

This method is not supported and throws an UnsupportedOperationException when called.

Parameters
child View: Ignored.

params ViewGroup.LayoutParams: Ignored.

Throws
UnsupportedOperationException Every time this method is invoked.

addView

added in API level 1
void addView (View child, 
                int index, 
                ViewGroup.LayoutParams params)

This method is not supported and throws an UnsupportedOperationException when called.

Parameters
child View: Ignored.

index int: Ignored.

params ViewGroup.LayoutParams: Ignored.

Throws
UnsupportedOperationException Every time this method is invoked.

getAccessibilityClassName

added in API level 23
CharSequence getAccessibilityClassName ()

Return the class name of this object to be used for accessibility purposes. Subclasses should only override this if they are implementing something that should be seen as a completely new class of view when used by accessibility, unrelated to the class it is deriving from. This is used to fill in AccessibilityNodeInfo.setClassName.

Returns
CharSequence

getAdapter

added in API level 1
T getAdapter ()

Returns the adapter currently associated with this widget.

Returns
T The adapter used to provide this view's content.

getCount

added in API level 1
int getCount ()

Returns
int The number of items owned by the Adapter associated with this AdapterView. (This is the number of data items, which may be larger than the number of visible views.)

getEmptyView

added in API level 1
View getEmptyView ()

When the current adapter is empty, the AdapterView can display a special view called the empty view. The empty view is used to provide feedback to the user that no data is available in this AdapterView.

Returns
View The view to show if the adapter is empty.

getFirstVisiblePosition

added in API level 1
int getFirstVisiblePosition ()

Returns the position within the adapter's data set for the first item displayed on screen.

Returns
int The position within the adapter's data set

getItemAtPosition

added in API level 1
Object getItemAtPosition (int position)

Gets the data associated with the specified position in the list.

Parameters
position int: Which data to get

Returns
Object The data associated with the specified position in the list

getItemIdAtPosition

added in API level 1
long getItemIdAtPosition (int position)

Parameters
position int

Returns
long

getLastVisiblePosition

added in API level 1
int getLastVisiblePosition ()

Returns the position within the adapter's data set for the last item displayed on screen.

Returns
int The position within the adapter's data set

getOnItemClickListener

added in API level 1
AdapterView.OnItemClickListener getOnItemClickListener ()

Returns
AdapterView.OnItemClickListener The callback to be invoked with an item in this AdapterView has been clicked, or null id no callback has been set.

This value may be null.

getOnItemLongClickListener

added in API level 1
AdapterView.OnItemLongClickListener getOnItemLongClickListener ()

Returns
AdapterView.OnItemLongClickListener The callback to be invoked with an item in this AdapterView has been clicked and held, or null id no callback as been set.

getOnItemSelectedListener

added in API level 1
AdapterView.OnItemSelectedListener getOnItemSelectedListener ()

Returns
AdapterView.OnItemSelectedListener

This value may be null.

getPositionForView

added in API level 1
int getPositionForView (View view)

Returns the position within the adapter's data set for the view, where view is a an adapter item or a descendant of an adapter item.

Note: The result of this method only reflects the position of the data bound to view during the most recent layout pass. If the adapter's data set has changed without a subsequent layout pass, the position returned by this method may not match the current position of the data within the adapter.

Parameters
view View: an adapter item, or a descendant of an adapter item. This must be visible in this AdapterView at the time of the call.

Returns
int the position within the adapter's data set of the view, or INVALID_POSITION if the view does not correspond to a list item (or it is not currently visible)

getSelectedItem

added in API level 1
Object getSelectedItem ()

Returns
Object The data corresponding to the currently selected item, or null if there is nothing selected.

getSelectedItemId

added in API level 1
long getSelectedItemId ()

Returns
long The id corresponding to the currently selected item, or INVALID_ROW_ID if nothing is selected.

getSelectedItemPosition

added in API level 1
int getSelectedItemPosition ()

Return the position of the currently selected item within the adapter's data set

Returns
int int Position (starting at 0), or INVALID_POSITION if there is nothing selected.

getSelectedView

added in API level 1
View getSelectedView ()

Returns
View The view corresponding to the currently selected item, or null if nothing is selected

onProvideAutofillStructure

void onProvideAutofillStructure (ViewStructure structure, 
                int flags)

Called when assist structure is being retrieved from a view as part of an autofill request.

This method already provides most of what's needed for autofill, but should be overridden when:

It also sets the autofill options in the structure; when overridden, it should set it as well, either explicitly by calling setAutofillOptions(CharSequence[]) or implicitly by calling super.onProvideAutofillStructure(structure, flags).

Parameters
structure ViewStructure: Fill in with structured view data. The default implementation fills in all data that can be inferred from the view itself.

flags int: optional flags.

performItemClick

added in API level 1
boolean performItemClick (View view, 
                int position, 
                long id)

Call the OnItemClickListener, if it is defined. Performs all normal actions associated with clicking: reporting accessibility event, playing a sound, etc.

Parameters
view View: The view within the AdapterView that was clicked.

position int: The position of the view in the adapter.

id long: The row id of the item that was clicked.

Returns
boolean True if there was an assigned OnItemClickListener that was called, false otherwise is returned.

removeAllViews

added in API level 1
void removeAllViews ()

This method is not supported and throws an UnsupportedOperationException when called.

Throws
UnsupportedOperationException Every time this method is invoked.

removeView

added in API level 1
void removeView (View child)

This method is not supported and throws an UnsupportedOperationException when called.

Parameters
child View: Ignored.

Throws
UnsupportedOperationException Every time this method is invoked.

removeViewAt

added in API level 1
void removeViewAt (int index)

This method is not supported and throws an UnsupportedOperationException when called.

Parameters
index int: Ignored.

Throws
UnsupportedOperationException Every time this method is invoked.

setAdapter

added in API level 1
void setAdapter (T adapter)

Sets the adapter that provides the data and the views to represent the data in this widget.

Parameters
adapter T: The adapter to use to create this view's content.

setEmptyView

added in API level 1
void setEmptyView (View emptyView)

Sets the view to show if the adapter is empty

Parameters
emptyView View

setFocusable

void setFocusable (int focusable)

Sets whether this view can receive focus.

Setting this to FOCUSABLE_AUTO tells the framework to determine focusability automatically based on the view's interactivity. This is the default.

Setting this to NOT_FOCUSABLE will ensure that this view is also not focusable in touch mode.

Parameters
focusable int: One of NOT_FOCUSABLE, FOCUSABLE, or FOCUSABLE_AUTO.

setFocusableInTouchMode

added in API level 1
void setFocusableInTouchMode (boolean focusable)

Set whether this view can receive focus while in touch mode. Setting this to true will also ensure that this view is focusable.

Parameters
focusable boolean: If true, this view can receive the focus while in touch mode.

setOnClickListener

added in API level 1
void setOnClickListener (View.OnClickListener l)

Register a callback to be invoked when this view is clicked. If this view is not clickable, it becomes clickable.

Parameters
l View.OnClickListener: The callback that will run

setOnItemClickListener

added in API level 1
void setOnItemClickListener (AdapterView.OnItemClickListener listener)

Register a callback to be invoked when an item in this AdapterView has been clicked.

Parameters
listener AdapterView.OnItemClickListener: The callback that will be invoked.

This value may be null.

setOnItemLongClickListener

added in API level 1
void setOnItemLongClickListener (AdapterView.OnItemLongClickListener listener)

Register a callback to be invoked when an item in this AdapterView has been clicked and held

Parameters
listener AdapterView.OnItemLongClickListener: The callback that will run

setOnItemSelectedListener

added in API level 1
void setOnItemSelectedListener (AdapterView.OnItemSelectedListener listener)

Register a callback to be invoked when an item in this AdapterView has been selected.

Parameters
listener AdapterView.OnItemSelectedListener: The callback that will run

This value may be null.

setSelection

added in API level 1
void setSelection (int position)

Sets the currently selected item. To support accessibility subclasses that override this method must invoke the overriden super method first.

Parameters
position int: Index (starting at 0) of the data item to be selected.

Protected methods

canAnimate

added in API level 1
boolean canAnimate ()

Indicates whether the view group has the ability to animate its children after the first layout.

Returns
boolean true if the children can be animated, false otherwise

dispatchRestoreInstanceState

added in API level 1
void dispatchRestoreInstanceState (SparseArray<Parcelable> container)

Override to prevent thawing of any views created by the adapter.

Parameters
container SparseArray: The SparseArray which holds previously saved state.

dispatchSaveInstanceState

added in API level 1
void dispatchSaveInstanceState (SparseArray<Parcelable> container)

Override to prevent freezing of any views created by the adapter.

Parameters
container SparseArray: The SparseArray in which to save the view's state.

onDetachedFromWindow

added in API level 1
void onDetachedFromWindow ()

This is called when the view is detached from a window. At this point it no longer has a surface for drawing.

onLayout

added in API level 1
void onLayout (boolean changed, 
                int left, 
                int top, 
                int right, 
                int bottom)

Called from layout when this view should assign a size and position to each of its children. Derived classes with children should override this method and call layout on each of their children.

Parameters
changed boolean: This is a new size or position for this view

left int: Left position, relative to parent

top int: Top position, relative to parent

right int: Right position, relative to parent

bottom int: Bottom position, relative to parent

This site uses cookies to store your preferences for site-specific language and display options.

Get the latest Android developer news and tips that will help you find success on Google Play.

* Required Fields

Hooray!

Browse this site in ?

You requested a page in , but your language preference for this site is .

Would you like to change your language preference and browse this site in ? If you want to change your language preference later, use the language menu at the bottom of each page.

This class requires API level or higher

This doc is hidden because your selected API level for the documentation is . You can change the documentation API level with the selector above the left navigation.

For more information about specifying the API level your app requires, read Supporting Different Platform Versions.

Take a one-minute survey?
Help us improve Android tools and documentation.