Skip to content

Most visited

Recently visited

navigation
added in version 22.1.0
belongs to Maven artifact com.android.support:leanback-v17:27.0.0

ObjectAdapter

public abstract class ObjectAdapter
extends Object

java.lang.Object
   ↳ android.support.v17.leanback.widget.ObjectAdapter
Known Direct Subclasses


Base class adapter to be used in leanback activities. Provides access to a data model and is decoupled from the presentation of the items via PresenterSelector.

Summary

Nested classes

class ObjectAdapter.DataObserver

A DataObserver can be notified when an ObjectAdapter's underlying data changes. 

Constants

int NO_ID

Indicates that an id has not been set.

Public constructors

ObjectAdapter(PresenterSelector presenterSelector)

Constructs an adapter with the given PresenterSelector.

ObjectAdapter(Presenter presenter)

Constructs an adapter that uses the given Presenter for all items.

ObjectAdapter()

Constructs an adapter.

Public methods

abstract Object get(int position)

Returns the item for the given position.

long getId(int position)

Returns the id for the given position.

final Presenter getPresenter(Object item)

Returns the Presenter for the given item from the adapter.

final PresenterSelector getPresenterSelector()

Returns the presenter selector for this ObjectAdapter.

final boolean hasStableIds()

Returns true if the item ids are stable across changes to the underlying data.

boolean isImmediateNotifySupported()

Returns true if the adapter pairs each underlying data change with a call to notify and false otherwise.

final void notifyItemRangeChanged(int positionStart, int itemCount, Object payload)

Notifies UI that some items has changed.

final void notifyItemRangeChanged(int positionStart, int itemCount)

Notifies UI that some items has changed.

final void registerObserver(ObjectAdapter.DataObserver observer)

Registers a DataObserver for data change notifications.

final void setHasStableIds(boolean hasStableIds)

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

final void setPresenterSelector(PresenterSelector presenterSelector)

Sets the presenter selector.

abstract int size()

Returns the number of items in the adapter.

final void unregisterAllObservers()

Unregisters all DataObservers for this ObjectAdapter.

final void unregisterObserver(ObjectAdapter.DataObserver observer)

Unregisters a DataObserver for data change notifications.

Protected methods

final void notifyChanged()

Notifies UI that the underlying data has changed.

final void notifyItemMoved(int fromPosition, int toPosition)

Notifies UI that item at fromPosition has been moved to toPosition.

final void notifyItemRangeInserted(int positionStart, int itemCount)

Notifies UI that new items has been inserted.

final void notifyItemRangeRemoved(int positionStart, int itemCount)

Notifies UI that some items that has been removed.

void onHasStableIdsChanged()

Called when setHasStableIds(boolean) is called and the status of stable ids has changed.

void onPresenterSelectorChanged()

Called when setPresenterSelector(PresenterSelector) is called and the PresenterSelector differs from the previous one.

Inherited methods

From class java.lang.Object

Constants

NO_ID

added in version 22.1.0
int NO_ID

Indicates that an id has not been set.

Constant Value: -1 (0xffffffff)

Public constructors

ObjectAdapter

added in version 22.1.0
ObjectAdapter (PresenterSelector presenterSelector)

Constructs an adapter with the given PresenterSelector.

Parameters
presenterSelector PresenterSelector

ObjectAdapter

added in version 22.1.0
ObjectAdapter (Presenter presenter)

Constructs an adapter that uses the given Presenter for all items.

Parameters
presenter Presenter

ObjectAdapter

added in version 22.1.0
ObjectAdapter ()

Constructs an adapter.

Public methods

get

added in version 22.1.0
Object get (int position)

Returns the item for the given position.

Parameters
position int

Returns
Object

getId

added in version 22.1.0
long getId (int position)

Returns the id for the given position.

Parameters
position int

Returns
long

getPresenter

added in version 22.1.0
Presenter getPresenter (Object item)

Returns the Presenter for the given item from the adapter.

Parameters
item Object

Returns
Presenter

getPresenterSelector

added in version 22.1.0
PresenterSelector getPresenterSelector ()

Returns the presenter selector for this ObjectAdapter.

Returns
PresenterSelector

hasStableIds

added in version 22.1.0
boolean hasStableIds ()

Returns true if the item ids are stable across changes to the underlying data. When this is true, clients of the ObjectAdapter can use getId(int) to correlate Objects across changes.

Returns
boolean

isImmediateNotifySupported

added in version 25.1.0
boolean isImmediateNotifySupported ()

Returns true if the adapter pairs each underlying data change with a call to notify and false otherwise.

Returns
boolean

notifyItemRangeChanged

added in version 27.0.0
void notifyItemRangeChanged (int positionStart, 
                int itemCount, 
                Object payload)

Notifies UI that some items has changed.

Parameters
positionStart int: Starting position of the changed items.

itemCount int: Total number of items that changed.

payload Object: Optional parameter, use null to identify a "full" update.

notifyItemRangeChanged

added in version 22.1.0
void notifyItemRangeChanged (int positionStart, 
                int itemCount)

Notifies UI that some items has changed.

Parameters
positionStart int: Starting position of the changed items.

itemCount int: Total number of items that changed.

registerObserver

added in version 22.1.0
void registerObserver (ObjectAdapter.DataObserver observer)

Registers a DataObserver for data change notifications.

Parameters
observer ObjectAdapter.DataObserver

setHasStableIds

added in version 22.1.0
void setHasStableIds (boolean hasStableIds)

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

Parameters
hasStableIds boolean

setPresenterSelector

added in version 22.1.0
void setPresenterSelector (PresenterSelector presenterSelector)

Sets the presenter selector. May not be null.

Parameters
presenterSelector PresenterSelector

size

added in version 22.1.0
int size ()

Returns the number of items in the adapter.

Returns
int

unregisterAllObservers

added in version 22.1.0
void unregisterAllObservers ()

Unregisters all DataObservers for this ObjectAdapter.

unregisterObserver

added in version 22.1.0
void unregisterObserver (ObjectAdapter.DataObserver observer)

Unregisters a DataObserver for data change notifications.

Parameters
observer ObjectAdapter.DataObserver

Protected methods

notifyChanged

added in version 22.1.0
void notifyChanged ()

Notifies UI that the underlying data has changed.

notifyItemMoved

added in version 27.0.0
void notifyItemMoved (int fromPosition, 
                int toPosition)

Notifies UI that item at fromPosition has been moved to toPosition.

Parameters
fromPosition int: Previous position of the item.

toPosition int: New position of the item.

notifyItemRangeInserted

added in version 22.1.0
void notifyItemRangeInserted (int positionStart, 
                int itemCount)

Notifies UI that new items has been inserted.

Parameters
positionStart int: Position where new items has been inserted.

itemCount int: Count of the new items has been inserted.

notifyItemRangeRemoved

added in version 22.1.0
void notifyItemRangeRemoved (int positionStart, 
                int itemCount)

Notifies UI that some items that has been removed.

Parameters
positionStart int: Starting position of the removed items.

itemCount int: Total number of items that has been removed.

onHasStableIdsChanged

added in version 22.1.0
void onHasStableIdsChanged ()

Called when setHasStableIds(boolean) is called and the status of stable ids has changed.

onPresenterSelectorChanged

added in version 22.1.0
void onPresenterSelectorChanged ()

Called when setPresenterSelector(PresenterSelector) is called and the PresenterSelector differs from the previous one.

This site uses cookies to store your preferences for site-specific language and display options.

Get the latest Android developer news and tips that will help you find success on Google Play.

* Required Fields

Hooray!

Follow Google Developers on WeChat

Browse this site in ?

You requested a page in , but your language preference for this site is .

Would you like to change your language preference and browse this site in ? If you want to change your language preference later, use the language menu at the bottom of each page.

This class requires API level or higher

This doc is hidden because your selected API level for the documentation is . You can change the documentation API level with the selector above the left navigation.

For more information about specifying the API level your app requires, read Supporting Different Platform Versions.

Take a short survey?
Help us improve the Android developer experience. (Dec 2017 Android Platform & Tools Survey)