to top
Android APIs
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

Class Overview

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. 
[Expand]
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.
[Expand]
Inherited Constants
From class android.view.ViewGroup
From class android.view.View
[Expand]
Inherited Fields
From class android.view.View
Public Constructors
AdapterView(Context context)
AdapterView(Context context, AttributeSet attrs)
AdapterView(Context context, AttributeSet attrs, int defStyle)
Public Methods
void addView(View child)
This method is not supported and throws an UnsupportedOperationException when called.
void addView(View child, int index)
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.
void addView(View child, ViewGroup.LayoutParams params)
This method is not supported and throws an UnsupportedOperationException when called.
boolean dispatchPopulateAccessibilityEvent(AccessibilityEvent event)
Dispatches an AccessibilityEvent to the View first and then to its children for adding their text content to the event.
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 call 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)
Get 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 onInitializeAccessibilityEvent(AccessibilityEvent event)
Initializes an AccessibilityEvent with information about this View which is the event source.
void onInitializeAccessibilityNodeInfo(AccessibilityNodeInfo info)
Initializes an AccessibilityNodeInfo with information about this view.
boolean onRequestSendAccessibilityEvent(View child, AccessibilityEvent event)
Called when a child has requested sending an AccessibilityEvent and gives an opportunity to its parent to augment the event.
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(boolean focusable)
Set whether this view can receive the 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.
[Expand]
Inherited Methods
From class android.view.ViewGroup
From class android.view.View
From class java.lang.Object
From interface android.graphics.drawable.Drawable.Callback
From interface android.view.KeyEvent.Callback
From interface android.view.ViewManager
From interface android.view.ViewParent
From interface android.view.accessibility.AccessibilityEventSource

Constants

public static final int INVALID_POSITION

Added in API level 1

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)

public static final long INVALID_ROW_ID

Added in API level 1

Represents an empty or invalid row id

Constant Value: -9223372036854775808 (0x8000000000000000)

public static final int ITEM_VIEW_TYPE_HEADER_OR_FOOTER

Added in API level 1

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

Constant Value: -2 (0xfffffffe)

public static final int ITEM_VIEW_TYPE_IGNORE

Added in API level 1

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

public AdapterView (Context context)

Added in API level 1

public AdapterView (Context context, AttributeSet attrs)

Added in API level 1

public AdapterView (Context context, AttributeSet attrs, int defStyle)

Added in API level 1

Public Methods

public void addView (View child)

Added in API level 1

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

Parameters
child Ignored.
Throws
UnsupportedOperationException Every time this method is invoked.

public void addView (View child, int index)

Added in API level 1

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

Parameters
child Ignored.
index Ignored.
Throws
UnsupportedOperationException Every time this method is invoked.

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

Added in API level 1

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

Parameters
child Ignored.
index Ignored.
params Ignored.
Throws
UnsupportedOperationException Every time this method is invoked.

public void addView (View child, ViewGroup.LayoutParams params)

Added in API level 1

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

Parameters
child Ignored.
params Ignored.
Throws
UnsupportedOperationException Every time this method is invoked.

public boolean dispatchPopulateAccessibilityEvent (AccessibilityEvent event)

Added in API level 4

Dispatches an AccessibilityEvent to the View first and then to its children for adding their text content to the event. Note that the event text is populated in a separate dispatch path since we add to the event not only the text of the source but also the text of all its descendants. A typical implementation will call onPopulateAccessibilityEvent(AccessibilityEvent) on the this view and then call the dispatchPopulateAccessibilityEvent(AccessibilityEvent) on each child. Override this method if custom population of the event text content is required.

If an View.AccessibilityDelegate has been specified via calling setAccessibilityDelegate(AccessibilityDelegate) its dispatchPopulateAccessibilityEvent(View, AccessibilityEvent) is responsible for handling this call.

Note: Accessibility events of certain types are not dispatched for populating the event text via this method. For details refer to AccessibilityEvent.

Parameters
event The event.
Returns
  • True if the event population was completed.

public abstract T getAdapter ()

Added in API level 1

Returns the adapter currently associated with this widget.

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

public int getCount ()

Added in API level 1

Returns
  • 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.)

public View getEmptyView ()

Added in API level 1

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

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

public int getFirstVisiblePosition ()

Added in API level 1

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

Returns
  • The position within the adapter's data set

public Object getItemAtPosition (int position)

Added in API level 1

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

Parameters
position Which data to get
Returns
  • The data associated with the specified position in the list

public long getItemIdAtPosition (int position)

Added in API level 1

public int getLastVisiblePosition ()

Added in API level 1

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

Returns
  • The position within the adapter's data set

public final AdapterView.OnItemClickListener getOnItemClickListener ()

Added in API level 1

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

public final AdapterView.OnItemLongClickListener getOnItemLongClickListener ()

Added in API level 1

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

public final AdapterView.OnItemSelectedListener getOnItemSelectedListener ()

Added in API level 1

public int getPositionForView (View view)

Added in API level 1

Get 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.

Parameters
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
  • 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).

public Object getSelectedItem ()

Added in API level 1

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

public long getSelectedItemId ()

Added in API level 1

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

public int getSelectedItemPosition ()

Added in API level 1

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

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

public abstract View getSelectedView ()

Added in API level 1

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

public void onInitializeAccessibilityEvent (AccessibilityEvent event)

Added in API level 14

Initializes an AccessibilityEvent with information about this View which is the event source. In other words, the source of an accessibility event is the view whose state change triggered firing the event.

Example: Setting the password property of an event in addition to properties set by the super implementation:

 public void onInitializeAccessibilityEvent(AccessibilityEvent event) {
     super.onInitializeAccessibilityEvent(event);
     event.setPassword(true);
 }

If an View.AccessibilityDelegate has been specified via calling setAccessibilityDelegate(AccessibilityDelegate) its onInitializeAccessibilityEvent(View, AccessibilityEvent) is responsible for handling this call.

Note: Always call the super implementation before adding information to the event, in case the default implementation has basic information to add.

Parameters
event The event to initialize.

public void onInitializeAccessibilityNodeInfo (AccessibilityNodeInfo info)

Added in API level 14

Initializes an AccessibilityNodeInfo with information about this view. The base implementation sets:

Subclasses should override this method, call the super implementation, and set additional attributes.

If an View.AccessibilityDelegate has been specified via calling setAccessibilityDelegate(AccessibilityDelegate) its onInitializeAccessibilityNodeInfo(View, AccessibilityNodeInfo) is responsible for handling this call.

Parameters
info The instance to initialize.

public boolean onRequestSendAccessibilityEvent (View child, AccessibilityEvent event)

Added in API level 14

Called when a child has requested sending an AccessibilityEvent and gives an opportunity to its parent to augment the event.

If an View.AccessibilityDelegate has been specified via calling setAccessibilityDelegate(android.view.View.AccessibilityDelegate) its onRequestSendAccessibilityEvent(ViewGroup, View, AccessibilityEvent) is responsible for handling this call.

Parameters
child The child which requests sending the event.
event The event to be sent.
Returns
  • True if the event should be sent.

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

Added in API level 1

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

Parameters
view The view within the AdapterView that was clicked.
position The position of the view in the adapter.
id The row id of the item that was clicked.
Returns
  • True if there was an assigned OnItemClickListener that was called, false otherwise is returned.

public void removeAllViews ()

Added in API level 1

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

Throws
UnsupportedOperationException Every time this method is invoked.

public void removeView (View child)

Added in API level 1

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

Parameters
child Ignored.
Throws
UnsupportedOperationException Every time this method is invoked.

public void removeViewAt (int index)

Added in API level 1

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

Parameters
index Ignored.
Throws
UnsupportedOperationException Every time this method is invoked.

public abstract void setAdapter (T adapter)

Added in API level 1

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

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

public void setEmptyView (View emptyView)

Added in API level 1

Sets the view to show if the adapter is empty

public void setFocusable (boolean focusable)

Added in API level 1

Set whether this view can receive the focus. Setting this to false will also ensure that this view is not focusable in touch mode.

Parameters
focusable If true, this view can receive the focus.

public void setFocusableInTouchMode (boolean focusable)

Added in API level 1

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 If true, this view can receive the focus while in touch mode.

public void setOnClickListener (View.OnClickListener l)

Added in API level 1

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

Parameters
l The callback that will run

public void setOnItemClickListener (AdapterView.OnItemClickListener listener)

Added in API level 1

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

Parameters
listener The callback that will be invoked.

public void setOnItemLongClickListener (AdapterView.OnItemLongClickListener listener)

Added in API level 1

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

Parameters
listener The callback that will run

public void setOnItemSelectedListener (AdapterView.OnItemSelectedListener listener)

Added in API level 1

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

Parameters
listener The callback that will run

public abstract void setSelection (int position)

Added in API level 1

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

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

Protected Methods

protected boolean canAnimate ()

Added in API level 1

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

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

protected void dispatchRestoreInstanceState (SparseArray<Parcelable> container)

Added in API level 1

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

Parameters
container The SparseArray which holds previously saved state.

protected void dispatchSaveInstanceState (SparseArray<Parcelable> container)

Added in API level 1

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

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

protected void onDetachedFromWindow ()

Added in API level 1

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

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

Added in API level 1

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 This is a new size or position for this view
left Left position, relative to parent
top Top position, relative to parent
right Right position, relative to parent
bottom Bottom position, relative to parent