ArrayObjectAdapter


public class ArrayObjectAdapter extends ObjectAdapter


An ObjectAdapter implemented with an ArrayList.

Summary

Public constructors

Constructs an adapter.

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

Constructs an adapter with the given PresenterSelector.

Public methods

void

Adds an item to the end of the adapter.

void
add(int index, @NonNull Object item)

Inserts an item into this adapter at the specified index.

void
addAll(int index, @NonNull Collection<Object> items)

Adds the objects in the given collection to the adapter, starting at the given index.

void

Removes all items from this adapter, leaving it empty.

@Nullable Object
get(int index)

Returns the item for the given position.

int

Returns the index for the first occurrence of item in the adapter, or -1 if not found.

boolean

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

void
move(int fromPosition, int toPosition)

Moved the item at fromPosition to toPosition.

void
notifyArrayItemRangeChanged(int positionStart, int itemCount)

Notify that the content of a range of items changed.

boolean

Removes the first occurrence of the given item from the adapter.

int
removeItems(int position, int count)

Removes a range of items from the adapter.

void
replace(int position, @NonNull Object item)

Replaces item at position with a new item and calls notifyItemRangeChanged() at the given position.

void
setItems(@NonNull List itemList, @Nullable DiffCallback callback)

Set a new item list to adapter.

int

Returns the number of items in the adapter.

@NonNull List<E>

Gets a read-only view of the list of object of this ArrayObjectAdapter.

Inherited Constants

From androidx.leanback.widget.ObjectAdapter
static final int
NO_ID = -1

Indicates that an id has not been set.

Inherited methods

From androidx.leanback.widget.ObjectAdapter
long
getId(int position)

Returns the id for the given position.

final @Nullable Presenter

Returns the Presenter for the given item from the adapter.

final @NonNull PresenterSelector

Returns the presenter selector for this ObjectAdapter.

final boolean

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

final void

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
notifyItemRangeChanged(int positionStart, int itemCount)

Notifies UI that some items has changed.

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

Notifies UI that some items has changed.

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

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

void

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

final void

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

Sets the presenter selector.

final void

Unregisters all DataObservers for this ObjectAdapter.

final void

Unregisters a DataObserver for data change notifications.

Public constructors

ArrayObjectAdapter

Added in 1.1.0
public ArrayObjectAdapter()

Constructs an adapter.

ArrayObjectAdapter

Added in 1.1.0
public ArrayObjectAdapter(@NonNull Presenter presenter)

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

ArrayObjectAdapter

Added in 1.1.0
public ArrayObjectAdapter(@NonNull PresenterSelector presenterSelector)

Constructs an adapter with the given PresenterSelector.

Public methods

add

Added in 1.1.0
public void add(@NonNull Object item)

Adds an item to the end of the adapter.

Parameters
@NonNull Object item

The item to add to the end of the adapter.

add

Added in 1.1.0
public void add(int index, @NonNull Object item)

Inserts an item into this adapter at the specified index. If the index is >size an exception will be thrown.

Parameters
int index

The index at which the item should be inserted.

@NonNull Object item

The item to insert into the adapter.

addAll

Added in 1.2.0-alpha04
public void addAll(int index, @NonNull Collection<Object> items)

Adds the objects in the given collection to the adapter, starting at the given index. If the index is >= size an exception will be thrown.

Parameters
int index

The index at which the items should be inserted.

@NonNull Collection<Object> items

A Collection of items to insert.

clear

Added in 1.1.0
public void clear()

Removes all items from this adapter, leaving it empty.

get

Added in 1.2.0-alpha04
public @Nullable Object get(int index)

Returns the item for the given position.

indexOf

Added in 1.1.0
public int indexOf(@NonNull Object item)

Returns the index for the first occurrence of item in the adapter, or -1 if not found.

Parameters
@NonNull Object item

The item to find in the list.

Returns
int

Index of the first occurrence of the item in the adapter, or -1 if not found.

isImmediateNotifySupported

public boolean isImmediateNotifySupported()

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

move

Added in 1.1.0
public void move(int fromPosition, int toPosition)

Moved the item at fromPosition to toPosition.

Parameters
int fromPosition

Previous position of the item.

int toPosition

New position of the item.

notifyArrayItemRangeChanged

Added in 1.1.0
public void notifyArrayItemRangeChanged(int positionStart, int itemCount)

Notify that the content of a range of items changed. Note that this is not same as items being added or removed.

Parameters
int positionStart

The position of first item that has changed.

int itemCount

The count of how many items have changed.

remove

Added in 1.1.0
public boolean remove(@NonNull Object item)

Removes the first occurrence of the given item from the adapter.

Parameters
@NonNull Object item

The item to remove from the adapter.

Returns
boolean

True if the item was found and thus removed from the adapter.

removeItems

Added in 1.1.0
public int removeItems(int position, int count)

Removes a range of items from the adapter. The range is specified by giving the starting position and the number of elements to remove.

Parameters
int position

The index of the first item to remove.

int count

The number of items to remove.

Returns
int

The number of items removed.

replace

Added in 1.1.0
public void replace(int position, @NonNull Object item)

Replaces item at position with a new item and calls notifyItemRangeChanged() at the given position. Note that this method does not compare new item to existing item.

Parameters
int position

The index of item to replace.

@NonNull Object item

The new item to be placed at given position.

setItems

Added in 1.1.0
public void setItems(@NonNull List itemList, @Nullable DiffCallback callback)

Set a new item list to adapter. The DiffUtil will compute the difference and dispatch it to specified position.

Parameters
@NonNull List itemList

List of new Items

@Nullable DiffCallback callback

Optional DiffCallback Object to compute the difference between the old data set and new data set. When null, notifyChanged will be fired.

size

Added in 1.2.0-alpha04
public int size()

Returns the number of items in the adapter.

unmodifiableList

Added in 1.1.0
public @NonNull List<E> <E> unmodifiableList()

Gets a read-only view of the list of object of this ArrayObjectAdapter.