Join us on the livestream at Android Dev Summit on 7-8 November 2018, starting at 10AM PDT!

BatchingListUpdateCallback

public class BatchingListUpdateCallback
extends Object implements ListUpdateCallback

java.lang.Object
   ↳ androidx.recyclerview.widget.BatchingListUpdateCallback


Wraps a ListUpdateCallback callback and batches operations that can be merged.

For instance, when 2 add operations comes that adds 2 consecutive elements, BatchingListUpdateCallback merges them and calls the wrapped callback only once.

This is a general purpose class and is also used by DiffResult and SortedList to minimize the number of updates that are dispatched.

If you use this class to batch updates, you must call dispatchLastEvent() when the stream of update events drain.

Summary

Public constructors

BatchingListUpdateCallback(ListUpdateCallback callback)

Public methods

void dispatchLastEvent()

BatchingListUpdateCallback holds onto the last event to see if it can be merged with the next one.

void onChanged(int position, int count, Object payload)

Called when count number of items are updated at the given position.

void onInserted(int position, int count)

Called when count number of items are inserted at the given position.

void onMoved(int fromPosition, int toPosition)

Called when an item changes its position in the list.

void onRemoved(int position, int count)

Called when count number of items are removed from the given position.

Inherited methods

Public constructors

BatchingListUpdateCallback

public BatchingListUpdateCallback (ListUpdateCallback callback)

Parameters
callback ListUpdateCallback

Public methods

dispatchLastEvent

public void dispatchLastEvent ()

BatchingListUpdateCallback holds onto the last event to see if it can be merged with the next one. When stream of events finish, you should call this method to dispatch the last event.

onChanged

public void onChanged (int position, 
                int count, 
                Object payload)

Called when count number of items are updated at the given position.

Parameters
position int: The position of the item which has been updated.

count int: The number of items which has changed.

payload Object

onInserted

public void onInserted (int position, 
                int count)

Called when count number of items are inserted at the given position.

Parameters
position int: The position of the new item.

count int: The number of items that have been added.

onMoved

public void onMoved (int fromPosition, 
                int toPosition)

Called when an item changes its position in the list.

Parameters
fromPosition int: The previous position of the item before the move.

toPosition int: The new position of the item.

onRemoved

public void onRemoved (int position, 
                int count)

Called when count number of items are removed from the given position.

Parameters
position int: The position of the item which has been removed.

count int: The number of items which have been removed.