# HeaderViewListAdapter

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/HeaderViewListAdapter#inhconstants)\|[Ctors](https://developer.android.com/reference/android/widget/HeaderViewListAdapter#pubctors)\|[Methods](https://developer.android.com/reference/android/widget/HeaderViewListAdapter#pubmethods)\|[Inherited Methods](https://developer.android.com/reference/android/widget/HeaderViewListAdapter#inhmethods)  

# HeaderViewListAdapter

*** ** * ** ***

[Kotlin](https://developer.android.com/reference/kotlin/android/widget/HeaderViewListAdapter "View this page in Kotlin")\|Java

`
public


class
HeaderViewListAdapter
`  
`

extends `[Object](https://developer.android.com/reference/java/lang/Object)`


``


implements

`[Filterable](https://developer.android.com/reference/android/widget/Filterable)`,

`[WrapperListAdapter](https://developer.android.com/reference/android/widget/WrapperListAdapter)`


`

|---|--------------------------------------|
| [java.lang.Object](https://developer.android.com/reference/java/lang/Object) ||
| ↳ | android.widget.HeaderViewListAdapter |

<br />

*** ** * ** ***

ListAdapter used when a ListView has header views. This ListAdapter wraps another one and also keeps track of the header views and their associated data objects.

This is intended as a base class; you will probably not need to use this class directly in your own code.

## Summary

|                                                                                                                                                                                                                                                                                                                                                                                                                                                ### Inherited constants                                                                                                                                                                                                                                                                                                                                                                                                                                                |
|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| From interface[android.widget.Adapter](https://developer.android.com/reference/android/widget/Adapter) |-------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| | `int` | [IGNORE_ITEM_VIEW_TYPE](https://developer.android.com/reference/android/widget/Adapter#IGNORE_ITEM_VIEW_TYPE) An item view type that causes the[AdapterView](https://developer.android.com/reference/android/widget/AdapterView)to ignore the item view. | | `int` | [NO_SELECTION](https://developer.android.com/reference/android/widget/Adapter#NO_SELECTION) <br />                                                                                                                                                       | |

|                                                                                                                                                                                                                                                                                                                                                                                         ### Public constructors                                                                                                                                                                                                                                                                                                                                                                                         ||
|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|---|
| ` `[HeaderViewListAdapter](https://developer.android.com/reference/android/widget/HeaderViewListAdapter#HeaderViewListAdapter(java.util.ArrayList<android.widget.ListView.FixedViewInfo>,%20java.util.ArrayList<android.widget.ListView.FixedViewInfo>,%20android.widget.ListAdapter))`(`[ArrayList](https://developer.android.com/reference/java/util/ArrayList)`<`[ListView.FixedViewInfo](https://developer.android.com/reference/android/widget/ListView.FixedViewInfo)`> headerViewInfos, `[ArrayList](https://developer.android.com/reference/java/util/ArrayList)`<`[ListView.FixedViewInfo](https://developer.android.com/reference/android/widget/ListView.FixedViewInfo)`> footerViewInfos, `[ListAdapter](https://developer.android.com/reference/android/widget/ListAdapter)` adapter) ` |

|                                                                                                                                                                                                                                                                                                       ### Public methods                                                                                                                                                                                                                                                                                                        ||
|--------------------------------------------------------------------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| ` boolean`                                                                           | ` `[areAllItemsEnabled](https://developer.android.com/reference/android/widget/HeaderViewListAdapter#areAllItemsEnabled())`() ` Indicates whether all the items in this adapter are enabled.                                                                                                                                                                                                                                                                                                                                              |
| ` int`                                                                               | ` `[getCount](https://developer.android.com/reference/android/widget/HeaderViewListAdapter#getCount())`() ` How many items are in the data set represented by this Adapter.                                                                                                                                                                                                                                                                                                                                                               |
| ` `[Filter](https://developer.android.com/reference/android/widget/Filter)           | ` `[getFilter](https://developer.android.com/reference/android/widget/HeaderViewListAdapter#getFilter())`() ` <br /> Returns a filter that can be used to constrain data with a filtering pattern.                                                                                                                                                                                                                                                                                                                                        |
| ` int`                                                                               | ` `[getFootersCount](https://developer.android.com/reference/android/widget/HeaderViewListAdapter#getFootersCount())`() `                                                                                                                                                                                                                                                                                                                                                                                                                 |
| ` int`                                                                               | ` `[getHeadersCount](https://developer.android.com/reference/android/widget/HeaderViewListAdapter#getHeadersCount())`() `                                                                                                                                                                                                                                                                                                                                                                                                                 |
| ` `[Object](https://developer.android.com/reference/java/lang/Object)                | ` `[getItem](https://developer.android.com/reference/android/widget/HeaderViewListAdapter#getItem(int))`(int position) ` Get the data item associated with the specified position in the data set.                                                                                                                                                                                                                                                                                                                                        |
| ` long`                                                                              | ` `[getItemId](https://developer.android.com/reference/android/widget/HeaderViewListAdapter#getItemId(int))`(int position) ` Get the row id associated with the specified position in the list.                                                                                                                                                                                                                                                                                                                                           |
| ` int`                                                                               | ` `[getItemViewType](https://developer.android.com/reference/android/widget/HeaderViewListAdapter#getItemViewType(int))`(int position) ` Get the type of View that will be created by[getView(int, View, ViewGroup)](https://developer.android.com/reference/android/widget/Adapter#getView(int,%20android.view.View,%20android.view.ViewGroup))for the specified item.                                                                                                                                                                   |
| ` `[View](https://developer.android.com/reference/android/view/View)                 | ` `[getView](https://developer.android.com/reference/android/widget/HeaderViewListAdapter#getView(int,%20android.view.View,%20android.view.ViewGroup))`(int position, `[View](https://developer.android.com/reference/android/view/View)` convertView, `[ViewGroup](https://developer.android.com/reference/android/view/ViewGroup)` parent) ` Get a View that displays the data at the specified position in the data set.                                                                                                               |
| ` int`                                                                               | ` `[getViewTypeCount](https://developer.android.com/reference/android/widget/HeaderViewListAdapter#getViewTypeCount())`() ` <br /> Returns the number of types of Views that will be created by[getView(int, View, ViewGroup)](https://developer.android.com/reference/android/widget/Adapter#getView(int,%20android.view.View,%20android.view.ViewGroup)).                                                                                                                                                                               |
| ` `[ListAdapter](https://developer.android.com/reference/android/widget/ListAdapter) | ` `[getWrappedAdapter](https://developer.android.com/reference/android/widget/HeaderViewListAdapter#getWrappedAdapter())`() ` Returns the adapter wrapped by this list adapter.                                                                                                                                                                                                                                                                                                                                                           |
| ` boolean`                                                                           | ` `[hasStableIds](https://developer.android.com/reference/android/widget/HeaderViewListAdapter#hasStableIds())`() ` Indicates whether the item ids are stable across changes to the underlying data.                                                                                                                                                                                                                                                                                                                                      |
| ` boolean`                                                                           | ` `[isEmpty](https://developer.android.com/reference/android/widget/HeaderViewListAdapter#isEmpty())`() `                                                                                                                                                                                                                                                                                                                                                                                                                                 |
| ` boolean`                                                                           | ` `[isEnabled](https://developer.android.com/reference/android/widget/HeaderViewListAdapter#isEnabled(int))`(int position) ` Returns true if the item at the specified position is not a separator.                                                                                                                                                                                                                                                                                                                                       |
| ` void`                                                                              | ` `[registerDataSetObserver](https://developer.android.com/reference/android/widget/HeaderViewListAdapter#registerDataSetObserver(android.database.DataSetObserver))`(`[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.                                                                                                                                                                 |
| ` boolean`                                                                           | ` `[removeFooter](https://developer.android.com/reference/android/widget/HeaderViewListAdapter#removeFooter(android.view.View))`(`[View](https://developer.android.com/reference/android/view/View)` v) `                                                                                                                                                                                                                                                                                                                                 |
| ` boolean`                                                                           | ` `[removeHeader](https://developer.android.com/reference/android/widget/HeaderViewListAdapter#removeHeader(android.view.View))`(`[View](https://developer.android.com/reference/android/view/View)` v) `                                                                                                                                                                                                                                                                                                                                 |
| ` void`                                                                              | ` `[unregisterDataSetObserver](https://developer.android.com/reference/android/widget/HeaderViewListAdapter#unregisterDataSetObserver(android.database.DataSetObserver))`(`[DataSetObserver](https://developer.android.com/reference/android/database/DataSetObserver)` observer) ` Unregister an observer that has previously been registered with this adapter via[registerDataSetObserver(DataSetObserver)](https://developer.android.com/reference/android/widget/Adapter#registerDataSetObserver(android.database.DataSetObserver)). |

| ### Inherited methods |
|-----------------------|---|
| From class` `[java.lang.Object](https://developer.android.com/reference/java/lang/Object)` ` |--------------------------------------------------------------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| | ` `[Object](https://developer.android.com/reference/java/lang/Object)          | ` `[clone](https://developer.android.com/reference/java/lang/Object#clone())`() ` Creates and returns a copy of this object.                                                                                                                                                      | | ` boolean`                                                                     | ` `[equals](https://developer.android.com/reference/java/lang/Object#equals(java.lang.Object))`(`[Object](https://developer.android.com/reference/java/lang/Object)` obj) ` Indicates whether some other object is "equal to" this one.                                           | | ` void`                                                                        | ` `[finalize](https://developer.android.com/reference/java/lang/Object#finalize())`() ` Called by the garbage collector on an object when garbage collection determines that there are no more references to the object.                                                          | | ` final `[Class](https://developer.android.com/reference/java/lang/Class)`<?>` | ` `[getClass](https://developer.android.com/reference/java/lang/Object#getClass())`() ` Returns the runtime class of this`Object`.                                                                                                                                                | | ` int`                                                                         | ` `[hashCode](https://developer.android.com/reference/java/lang/Object#hashCode())`() ` Returns a hash code value for the object.                                                                                                                                                 | | ` final void`                                                                  | ` `[notify](https://developer.android.com/reference/java/lang/Object#notify())`() ` Wakes up a single thread that is waiting on this object's monitor.                                                                                                                            | | ` final void`                                                                  | ` `[notifyAll](https://developer.android.com/reference/java/lang/Object#notifyAll())`() ` Wakes up all threads that are waiting on this object's monitor.                                                                                                                         | | ` `[String](https://developer.android.com/reference/java/lang/String)          | ` `[toString](https://developer.android.com/reference/java/lang/Object#toString())`() ` Returns a string representation of the object.                                                                                                                                            | | ` final void`                                                                  | ` `[wait](https://developer.android.com/reference/java/lang/Object#wait(long,%20int))`(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](https://developer.android.com/reference/java/lang/Object#wait(long))`(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](https://developer.android.com/reference/java/lang/Object#wait())`() ` Causes the current thread to wait until it is awakened, typically by being*notified* or*interrupted*.                                                                                             | ||
| From interface` `[android.widget.Filterable](https://developer.android.com/reference/android/widget/Filterable)` ` |-------------------------------------------------------------------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| | ` abstract `[Filter](https://developer.android.com/reference/android/widget/Filter) | ` `[getFilter](https://developer.android.com/reference/android/widget/Filterable#getFilter())`() ` <br /> Returns a filter that can be used to constrain data with a filtering pattern. | ||
| From interface` `[android.widget.WrapperListAdapter](https://developer.android.com/reference/android/widget/WrapperListAdapter)` ` |-----------------------------------------------------------------------------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| | ` abstract `[ListAdapter](https://developer.android.com/reference/android/widget/ListAdapter) | ` `[getWrappedAdapter](https://developer.android.com/reference/android/widget/WrapperListAdapter#getWrappedAdapter())`() ` Returns the adapter wrapped by this list adapter. | ||
| From interface` `[android.widget.ListAdapter](https://developer.android.com/reference/android/widget/ListAdapter)` ` |---------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| | ` abstract boolean` | ` `[areAllItemsEnabled](https://developer.android.com/reference/android/widget/ListAdapter#areAllItemsEnabled())`() ` Indicates whether all the items in this adapter are enabled.        | | ` abstract boolean` | ` `[isEnabled](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. | ||
| From interface` `[android.widget.Adapter](https://developer.android.com/reference/android/widget/Adapter)` ` |---------------------------------------------------------------------------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| | ` default `[CharSequence[]](https://developer.android.com/reference/java/lang/CharSequence) | ` `[getAutofillOptions](https://developer.android.com/reference/android/widget/Adapter#getAutofillOptions())`() ` Gets a string representation of the adapter data that can help[AutofillService](https://developer.android.com/reference/android/service/autofill/AutofillService)autofill the view backed by the adapter.                                                                                                                                                                                                 | | ` abstract int`                                                                             | ` `[getCount](https://developer.android.com/reference/android/widget/Adapter#getCount())`() ` How many items are in the data set represented by this Adapter.                                                                                                                                                                                                                                                                                                                                                               | | ` abstract `[Object](https://developer.android.com/reference/java/lang/Object)              | ` `[getItem](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`                                                                            | ` `[getItemId](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`                                                                             | ` `[getItemViewType](https://developer.android.com/reference/android/widget/Adapter#getItemViewType(int))`(int position) ` Get the type of View that will be created by[getView(int, View, ViewGroup)](https://developer.android.com/reference/android/widget/Adapter#getView(int,%20android.view.View,%20android.view.ViewGroup))for the specified item.                                                                                                                                                                   | | ` abstract `[View](https://developer.android.com/reference/android/view/View)               | ` `[getView](https://developer.android.com/reference/android/widget/Adapter#getView(int,%20android.view.View,%20android.view.ViewGroup))`(int position, `[View](https://developer.android.com/reference/android/view/View)` convertView, `[ViewGroup](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`                                                                             | ` `[getViewTypeCount](https://developer.android.com/reference/android/widget/Adapter#getViewTypeCount())`() ` <br /> Returns the number of types of Views that will be created by[getView(int, View, ViewGroup)](https://developer.android.com/reference/android/widget/Adapter#getView(int,%20android.view.View,%20android.view.ViewGroup)).                                                                                                                                                                               | | ` abstract boolean`                                                                         | ` `[hasStableIds](https://developer.android.com/reference/android/widget/Adapter#hasStableIds())`() ` Indicates whether the item ids are stable across changes to the underlying data.                                                                                                                                                                                                                                                                                                                                      | | ` abstract boolean`                                                                         | ` `[isEmpty](https://developer.android.com/reference/android/widget/Adapter#isEmpty())`() `                                                                                                                                                                                                                                                                                                                                                                                                                                 | | ` abstract void`                                                                            | ` `[registerDataSetObserver](https://developer.android.com/reference/android/widget/Adapter#registerDataSetObserver(android.database.DataSetObserver))`(`[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`                                                                            | ` `[unregisterDataSetObserver](https://developer.android.com/reference/android/widget/Adapter#unregisterDataSetObserver(android.database.DataSetObserver))`(`[DataSetObserver](https://developer.android.com/reference/android/database/DataSetObserver)` observer) ` Unregister an observer that has previously been registered with this adapter via[registerDataSetObserver(DataSetObserver)](https://developer.android.com/reference/android/widget/Adapter#registerDataSetObserver(android.database.DataSetObserver)). | ||

## Public constructors

### HeaderViewListAdapter

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

```
public HeaderViewListAdapter (ArrayList<ListView.FixedViewInfo> headerViewInfos, 
                ArrayList<ListView.FixedViewInfo> footerViewInfos, 
                ListAdapter adapter)
```

<br />

<br />

|               Parameters                ||
|-------------------|----------------------|
| `headerViewInfos` | `ArrayList` <br />   |
| `footerViewInfos` | `ArrayList` <br />   |
| `adapter`         | `ListAdapter` <br /> |

## Public methods

### areAllItemsEnabled

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

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

<br />

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

### getCount

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

```
public int getCount ()
```

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

<br />

|            Returns            ||
|-------|------------------------|
| `int` | Count of items. <br /> |

### getFilter

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

```
public Filter getFilter ()
```

<br />

Returns a filter that can be used to constrain data with a filtering pattern.

This method is usually implemented by[Adapter](https://developer.android.com/reference/android/widget/Adapter)classes.

<br />

<br />

|                                                     Returns                                                     ||
|-------------------------------------------------------------------------|----------------------------------------|
| [Filter](https://developer.android.com/reference/android/widget/Filter) | a filter used to constrain data <br /> |

### getFootersCount

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

```
public int getFootersCount ()
```

<br />

<br />

|    Returns    ||
|-------|--------|
| `int` | <br /> |

### getHeadersCount

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

```
public int getHeadersCount ()
```

<br />

<br />

|    Returns    ||
|-------|--------|
| `int` | <br /> |

### getItem

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

```
public Object getItem (int position)
```

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

<br />

|                                            Parameters                                            ||
|------------|--------------------------------------------------------------------------------------|
| `position` | `int`: Position of the item whose data we want within the adapter's data set. <br /> |

|                                                    Returns                                                     ||
|--------------------------------------------------------------------|--------------------------------------------|
| [Object](https://developer.android.com/reference/java/lang/Object) | The data at the specified position. <br /> |

### getItemId

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

```
public long getItemId (int position)
```

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

<br />

|                                               Parameters                                               ||
|------------|--------------------------------------------------------------------------------------------|
| `position` | `int`: The position of the item within the adapter's data set whose row id we want. <br /> |

|                           Returns                            ||
|--------|------------------------------------------------------|
| `long` | The id of the item at the specified position. <br /> |

### getItemViewType

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

```
public int getItemViewType (int position)
```

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

<br />

|                                                Parameters                                                 ||
|------------|-----------------------------------------------------------------------------------------------|
| `position` | `int`: The position of the item within the adapter's data set whose view type we want. <br /> |

|                                                                                                                                                                                                                                                                                        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)](https://developer.android.com/reference/android/widget/Adapter#getView(int,%20android.view.View,%20android.view.ViewGroup)). Note: Integers must be in the range 0 to[getViewTypeCount()](https://developer.android.com/reference/android/widget/Adapter#getViewTypeCount())- 1.[IGNORE_ITEM_VIEW_TYPE](https://developer.android.com/reference/android/widget/Adapter#IGNORE_ITEM_VIEW_TYPE)can also be returned. <br /> |

### getView

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

```
public View getView (int position, 
                View convertView, 
                ViewGroup parent)
```

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[LayoutInflater.inflate(int, android.view.ViewGroup, boolean)](https://developer.android.com/reference/android/view/LayoutInflater#inflate(int,%20android.view.ViewGroup,%20boolean))to specify a root view and to prevent attachment to the root.

<br />

|                                                                                                                                                                                                                                                                                                                Parameters                                                                                                                                                                                                                                                                                                                 ||
|---------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| `position`    | `int`: The position of the item within the adapter's data set of the item whose view we want. <br />                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
| `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()](https://developer.android.com/reference/android/widget/HeaderViewListAdapter#getViewTypeCount())and[getItemViewType(int)](https://developer.android.com/reference/android/widget/HeaderViewListAdapter#getItemViewType(int))). <br /> |
| `parent`      | `ViewGroup`: The parent that this view will eventually be attached to <br />                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |

|                                                                Returns                                                                ||
|-------------------------------------------------------------------|--------------------------------------------------------------------|
| [View](https://developer.android.com/reference/android/view/View) | A View corresponding to the data at the specified position. <br /> |

### getViewTypeCount

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

```
public int getViewTypeCount ()
```

<br />

Returns the number of types of Views that will be created by[getView(int, View, ViewGroup)](https://developer.android.com/reference/android/widget/Adapter#getView(int,%20android.view.View,%20android.view.ViewGroup)). Each type represents a set of views that can be converted in[getView(int, View, ViewGroup)](https://developer.android.com/reference/android/widget/Adapter#getView(int,%20android.view.View,%20android.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](https://developer.android.com/reference/android/widget/AdapterView).

<br />

<br />

|                                     Returns                                     ||
|-------|--------------------------------------------------------------------------|
| `int` | The number of types of Views that will be created by this adapter <br /> |

### getWrappedAdapter

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

```
public ListAdapter getWrappedAdapter ()
```

Returns the adapter wrapped by this list adapter.

<br />

|                                                                                                Returns                                                                                                 ||
|-----------------------------------------------------------------------------------|---------------------------------------------------------------------------------------------------------------------|
| [ListAdapter](https://developer.android.com/reference/android/widget/ListAdapter) | The[ListAdapter](https://developer.android.com/reference/android/widget/ListAdapter)wrapped by this adapter. <br /> |

### hasStableIds

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

```
public boolean hasStableIds ()
```

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

<br />

|                                 Returns                                 ||
|-----------|--------------------------------------------------------------|
| `boolean` | True if the same id always refers to the same object. <br /> |

### isEmpty

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

```
public boolean isEmpty ()
```

<br />

<br />

|      Returns      ||
|-----------|--------|
| `boolean` | <br /> |

### isEnabled

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

```
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](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 /> |

### registerDataSetObserver

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

```
public void registerDataSetObserver (DataSetObserver observer)
```

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

<br />

|                                           Parameters                                           ||
|------------|------------------------------------------------------------------------------------|
| `observer` | `DataSetObserver`: the object that gets notified when the data set changes. <br /> |

### removeFooter

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

```
public boolean removeFooter (View v)
```

<br />

<br />

|     Parameters     ||
|-----|---------------|
| `v` | `View` <br /> |

|      Returns      ||
|-----------|--------|
| `boolean` | <br /> |

### removeHeader

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

```
public boolean removeHeader (View v)
```

<br />

<br />

|     Parameters     ||
|-----|---------------|
| `v` | `View` <br /> |

|      Returns      ||
|-----------|--------|
| `boolean` | <br /> |

### unregisterDataSetObserver

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

```
public void unregisterDataSetObserver (DataSetObserver observer)
```

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

<br />

|                           Parameters                            ||
|------------|-----------------------------------------------------|
| `observer` | `DataSetObserver`: the object to unregister. <br /> |