Added in API level 1

Adapter


interface Adapter
android.widget.Adapter

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 android.view.View for each item in the data set.

Summary

Constants
static Int

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

static Int

Public methods
open Array<CharSequence!>?

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

abstract Int

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

abstract Any!
getItem(position: Int)

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

abstract Long
getItemId(position: Int)

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

abstract Int
getItemViewType(position: Int)

Get the type of View that will be created by getView for the specified item.

abstract View!
getView(position: Int, convertView: View!, parent: ViewGroup!)

Get a View that displays the data at the specified position in the data set.

abstract Int

Returns the number of types of Views that will be created by getView.

abstract Boolean

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

abstract Boolean

abstract Unit

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

abstract Unit

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

Constants

IGNORE_ITEM_VIEW_TYPE

Added in API level 1
static val IGNORE_ITEM_VIEW_TYPE: Int

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,android.view.View,android.view.ViewGroup).

Value: -1

NO_SELECTION

Added in API level 1
static val NO_SELECTION: Int
Value: -2147483648

Public methods

getAutofillOptions

Added in API level 26
open fun getAutofillOptions(): Array<CharSequence!>?

Gets a string representation of the adapter data that can help 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 android.view.ViewStructure#setDataIsSensitive(boolean) for more info.

Return
Array<CharSequence!>? null by default, unless implementations override it.

getCount

Added in API level 1
abstract fun getCount(): Int

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

Return
Int Count of items.

getItem

Added in API level 1
abstract fun getItem(position: Int): Any!

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.
Return
Any! The data at the specified position.

getItemId

Added in API level 1
abstract fun getItemId(position: Int): Long

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.
Return
Long The id of the item at the specified position.

getItemViewType

Added in API level 1
abstract fun getItemViewType(position: Int): Int

Get the type of View that will be created by getView for the specified item.

Parameters
position Int: The position of the item within the adapter's data set whose view type we want.
Return
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. Note: Integers must be in the range 0 to getViewTypeCount - 1. IGNORE_ITEM_VIEW_TYPE can also be returned.

getView

Added in API level 1
abstract fun getView(
    position: Int,
    convertView: View!,
    parent: ViewGroup!
): View!

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 android.view.LayoutInflater#inflate(int, android.view.ViewGroup, boolean) 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() and getItemViewType(int)).
parent ViewGroup!: The parent that this view will eventually be attached to
Return
View! A View corresponding to the data at the specified position.

getViewTypeCount

Added in API level 1
abstract fun getViewTypeCount(): Int

Returns the number of types of Views that will be created by getView. Each type represents a set of views that can be converted in getView. 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.

Return
Int The number of types of Views that will be created by this adapter

hasStableIds

Added in API level 1
abstract fun hasStableIds(): Boolean

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

Return
Boolean True if the same id always refers to the same object.

isEmpty

Added in API level 1
abstract fun isEmpty(): Boolean
Return
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

Added in API level 1
abstract fun registerDataSetObserver(observer: DataSetObserver!): Unit

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

Added in API level 1
abstract fun unregisterDataSetObserver(observer: DataSetObserver!): Unit

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

Parameters
observer DataSetObserver!: the object to unregister.