Added in [API level 1](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels) Summary: [Inherited Constants](https://developer.android.com/reference/android/widget/ListAdapter#inhconstants) \| [Methods](https://developer.android.com/reference/android/widget/ListAdapter#pubmethods) \| [Inherited Methods](https://developer.android.com/reference/android/widget/ListAdapter#inhmethods)

# ListAdapter

*** ** * ** ***

` public interface ListAdapter `   
` implements https://developer.android.com/reference/android/widget/Adapter `

|---|
| android.widget.ListAdapter |

Known indirect subclasses [ArrayAdapter](https://developer.android.com/reference/android/widget/ArrayAdapter)\<T\>, [BaseAdapter](https://developer.android.com/reference/android/widget/BaseAdapter), [CursorAdapter](https://developer.android.com/reference/android/widget/CursorAdapter), [HeaderViewListAdapter](https://developer.android.com/reference/android/widget/HeaderViewListAdapter), [ResourceCursorAdapter](https://developer.android.com/reference/android/widget/ResourceCursorAdapter), [SimpleAdapter](https://developer.android.com/reference/android/widget/SimpleAdapter), [SimpleCursorAdapter](https://developer.android.com/reference/android/widget/SimpleCursorAdapter), [WrapperListAdapter](https://developer.android.com/reference/android/widget/WrapperListAdapter) [ArrayAdapter](https://developer.android.com/reference/android/widget/ArrayAdapter)\<T\> You can use this adapter to provide views for an `https://developer.android.com/reference/android/widget/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 `https://developer.android.com/reference/android/widget/ListView` or `https://developer.android.com/reference/android/widget/Spinner`. [BaseAdapter](https://developer.android.com/reference/android/widget/BaseAdapter) Common base class of common implementation for an `https://developer.android.com/reference/android/widget/Adapter` that can be used in both `https://developer.android.com/reference/android/widget/ListView` (by implementing the specialized `https://developer.android.com/reference/android/widget/ListAdapter` interface) and `https://developer.android.com/reference/android/widget/Spinner` (by implementing the specialized `https://developer.android.com/reference/android/widget/SpinnerAdapter` interface). [CursorAdapter](https://developer.android.com/reference/android/widget/CursorAdapter) Adapter that exposes data from a `https://developer.android.com/reference/android/database/Cursor` to a `https://developer.android.com/reference/android/widget/ListView` widget. [HeaderViewListAdapter](https://developer.android.com/reference/android/widget/HeaderViewListAdapter) ListAdapter used when a ListView has header views. [ResourceCursorAdapter](https://developer.android.com/reference/android/widget/ResourceCursorAdapter) An easy adapter that creates views defined in an XML file. [SimpleAdapter](https://developer.android.com/reference/android/widget/SimpleAdapter) An easy adapter to map static data to views defined in an XML file. [SimpleCursorAdapter](https://developer.android.com/reference/android/widget/SimpleCursorAdapter) An easy adapter to map columns from a cursor to TextViews or ImageViews defined in an XML file. [WrapperListAdapter](https://developer.android.com/reference/android/widget/WrapperListAdapter) List adapter that wraps another list adapter.   

*** ** * ** ***

Extended `https://developer.android.com/reference/android/widget/Adapter` that is the bridge between a `https://developer.android.com/reference/android/widget/ListView` and the data that backs the list. Frequently that data comes from a Cursor, but that is not required. The ListView can display any data provided that it is wrapped in a ListAdapter.

## Summary

### Inherited constants

From interface `https://developer.android.com/reference/android/widget/Adapter` `int` `https://developer.android.com/reference/android/widget/Adapter#IGNORE_ITEM_VIEW_TYPE`

An item view type that causes the `https://developer.android.com/reference/android/widget/AdapterView` to ignore the item view.
`int` `https://developer.android.com/reference/android/widget/Adapter#NO_SELECTION`

<br />

| ### Public methods ||
|---|---|
| ` abstract boolean` | ` https://developer.android.com/reference/android/widget/ListAdapter#areAllItemsEnabled()() ` Indicates whether all the items in this adapter are enabled. |
| ` abstract boolean` | ` https://developer.android.com/reference/android/widget/ListAdapter#isEnabled(int)(int position) ` Returns true if the item at the specified position is not a separator. |

### Inherited methods

From interface ` https://developer.android.com/reference/android/widget/Adapter ` ` default https://developer.android.com/reference/java/lang/CharSequence` ` https://developer.android.com/reference/android/widget/Adapter#getAutofillOptions()() `

Gets a string representation of the adapter data that can help `https://developer.android.com/reference/android/service/autofill/AutofillService` autofill the view backed by the adapter.
` abstract int` ` https://developer.android.com/reference/android/widget/Adapter#getCount()() `

How many items are in the data set represented by this Adapter.
` abstract https://developer.android.com/reference/java/lang/Object` ` https://developer.android.com/reference/android/widget/Adapter#getItem(int)(int position) `

Get the data item associated with the specified position in the data set.
` abstract long` ` https://developer.android.com/reference/android/widget/Adapter#getItemId(int)(int position) `

Get the row id associated with the specified position in the list.
` abstract int` ` https://developer.android.com/reference/android/widget/Adapter#getItemViewType(int)(int position) `

Get the type of View that will be created by `https://developer.android.com/reference/android/widget/Adapter#getView(int,%20android.view.View,%20android.view.ViewGroup)` for the specified item.
` abstract https://developer.android.com/reference/android/view/View` ` https://developer.android.com/reference/android/widget/Adapter#getView(int,%20android.view.View,%20android.view.ViewGroup)(int position, https://developer.android.com/reference/android/view/View convertView, https://developer.android.com/reference/android/view/ViewGroup parent) `

Get a View that displays the data at the specified position in the data set.
` abstract int` ` https://developer.android.com/reference/android/widget/Adapter#getViewTypeCount()() `

<br />

Returns the number of types of Views that will be created by `https://developer.android.com/reference/android/widget/Adapter#getView(int,%20android.view.View,%20android.view.ViewGroup)`.
` abstract boolean` ` https://developer.android.com/reference/android/widget/Adapter#hasStableIds()() `

Indicates whether the item ids are stable across changes to the underlying data.
` abstract boolean` ` https://developer.android.com/reference/android/widget/Adapter#isEmpty()() ` ` abstract void` ` https://developer.android.com/reference/android/widget/Adapter#registerDataSetObserver(android.database.DataSetObserver)(https://developer.android.com/reference/android/database/DataSetObserver observer) `

Register an observer that is called when changes happen to the data used by this adapter.
` abstract void` ` https://developer.android.com/reference/android/widget/Adapter#unregisterDataSetObserver(android.database.DataSetObserver)(https://developer.android.com/reference/android/database/DataSetObserver observer) `

Unregister an observer that has previously been registered with this adapter via `https://developer.android.com/reference/android/widget/Adapter#registerDataSetObserver(android.database.DataSetObserver)`.

## Public methods

### areAllItemsEnabled

Added in [API level 1](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public abstract 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.)

<br />

| Returns ||
|---|---|
| `boolean` | True if all items are enabled, false otherwise. <br /> |

**See also:**

- `https://developer.android.com/reference/android/widget/ListAdapter#isEnabled(int)`

### isEnabled

Added in [API level 1](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public abstract 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 `https://developer.android.com/reference/java/lang/ArrayIndexOutOfBoundsException` should be thrown in that case for fast failure.

<br />

| Parameters ||
|---|---|
| `position` | `int`: Index of the item <br /> |

| Returns ||
|---|---|
| `boolean` | True if the item is not a separator <br /> |

**See also:**

- `https://developer.android.com/reference/android/widget/ListAdapter#areAllItemsEnabled()`