BaseAdapter


public abstract class BaseAdapter
extends Object implements ListAdapter, SpinnerAdapter

java.lang.Object
   ↳ android.widget.BaseAdapter
ArrayAdapter<T> You can use this adapter to provide views for an AdapterView, Returns a view for each object in a collection of data objects you provide, and can be used with list-based user interface widgets such as ListView or Spinner
CursorAdapter Adapter that exposes data from a Cursor to a ListView widget. 
SimpleAdapter An easy adapter to map static data to views defined in an XML file. 
ResourceCursorAdapter An easy adapter that creates views defined in an XML file. 
SimpleCursorAdapter An easy adapter to map columns from a cursor to TextViews or ImageViews defined in an XML file. 


Common base class of common implementation for an Adapter that can be used in both ListView (by implementing the specialized ListAdapter interface) and Spinner (by implementing the specialized SpinnerAdapter interface).

Summary

Inherited constants

int IGNORE_ITEM_VIEW_TYPE

An item view type that causes the AdapterView to ignore the item view.

int NO_SELECTION

Public constructors

BaseAdapter()

Public methods

boolean areAllItemsEnabled()

Indicates whether all the items in this adapter are enabled.

CharSequence[] getAutofillOptions()

Gets a string representation of the adapter data that can help AutofillService autofill the view backed by the adapter.

View getDropDownView(int position, View convertView, ViewGroup parent)

Gets a View that displays in the drop down popup the data at the specified position in the data set.

int getItemViewType(int position)

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

int getViewTypeCount()

Returns the number of types of Views that will be created by getView(int, View, ViewGroup).

boolean hasStableIds()

Indicates whether the item ids are stable across changes to the underlying data.

boolean isEmpty()
boolean isEnabled(int position)

Returns true if the item at the specified position is not a separator.

void notifyDataSetChanged()

Notifies the attached observers that the underlying data has been changed and any View reflecting the data set should refresh itself.

void notifyDataSetInvalidated()

Notifies the attached observers that the underlying data is no longer valid or available.

void registerDataSetObserver(DataSetObserver observer)

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

void setAutofillOptions(CharSequence... options)

Sets the value returned by getAutofillOptions()

void unregisterDataSetObserver(DataSetObserver observer)

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

Inherited methods

Object clone()

Creates and returns a copy of this object.

boolean equals(Object obj)

Indicates whether some other object is "equal to" this one.

void finalize()

Called by the garbage collector on an object when garbage collection determines that there are no more references to the object.

final Class<?> getClass()

Returns the runtime class of this Object.

int hashCode()

Returns a hash code value for the object.

final void notify()

Wakes up a single thread that is waiting on this object's monitor.

final void notifyAll()

Wakes up all threads that are waiting on this object's monitor.

String toString()

Returns a string representation of the object.

final void wait(long timeoutMillis, int nanos)

Causes the current thread to wait until it is awakened, typically by being notified or interrupted, or until a certain amount of real time has elapsed.

final void wait(long timeoutMillis)

Causes the current thread to wait until it is awakened, typically by being notified or interrupted, or until a certain amount of real time has elapsed.

final void wait()

Causes the current thread to wait until it is awakened, typically by being notified or interrupted.

abstract boolean areAllItemsEnabled()

Indicates whether all the items in this adapter are enabled.

abstract boolean isEnabled(int position)

Returns true if the item at the specified position is not a separator.

abstract View getDropDownView(int position, View convertView, ViewGroup parent)

Gets a View that displays in the drop down popup the data at the specified position in the data set.

default CharSequence[] getAutofillOptions()

Gets a string representation of the adapter data that can help AutofillService autofill the view backed by the adapter.

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

Public constructors

BaseAdapter

public BaseAdapter ()

Public methods

areAllItemsEnabled

Added in API level 1
public boolean areAllItemsEnabled ()

Indicates whether all the items in this adapter are enabled. If the value returned by this method changes over time, there is no guarantee it will take effect. If true, it means all items are selectable and clickable (there is no separator.)

Returns
boolean True if all items are enabled, false otherwise.

getAutofillOptions

Added in API level 26
public CharSequence[] getAutofillOptions ()

Gets a string representation of the adapter data that can help 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) for more info.

Returns
CharSequence[] null by default, unless implementations override it.

getDropDownView

Added in API level 1
public View getDropDownView (int position, 
                View convertView, 
                ViewGroup parent)

Gets a View that displays in the drop down popup the data at the specified position in the data set.

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.

getItemViewType

Added in API level 1
public int getItemViewType (int position)

Get the type of View that will be created by getView(int, View, ViewGroup) 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.

getViewTypeCount

Added in API level 1
public int getViewTypeCount ()

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 the adapter is set on the AdapterView.

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

hasStableIds

Added in API level 1
public 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

Added in API level 1
public boolean isEmpty ()

Returns
boolean

isEnabled

Added in API level 1
public boolean isEnabled (int position)

Returns true if the item at the specified position is not a separator. (A separator is a non-selectable, non-clickable item). The result is unspecified if position is invalid. An ArrayIndexOutOfBoundsException should be thrown in that case for fast failure.

Parameters
position int: Index of the item

Returns
boolean True if the item is not a separator

notifyDataSetChanged

Added in API level 1
public void notifyDataSetChanged ()

Notifies the attached observers that the underlying data has been changed and any View reflecting the data set should refresh itself.

notifyDataSetInvalidated

Added in API level 1
public void notifyDataSetInvalidated ()

Notifies the attached observers that the underlying data is no longer valid or available. Once invoked this adapter is no longer valid and should not report further data set changes.

registerDataSetObserver

Added in API level 1
public 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.

setAutofillOptions

Added in API level 27
public void setAutofillOptions (CharSequence... options)

Sets the value returned by getAutofillOptions()

Parameters
options CharSequence: This value may be null.

unregisterDataSetObserver

Added in API level 1
public void unregisterDataSetObserver (DataSetObserver observer)

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

Parameters
observer DataSetObserver: the object to unregister.