Android APIs
public static abstract class

AsyncListUtil.DataCallback

extends Object
java.lang.Object
   ↳ android.support.v7.util.AsyncListUtil.DataCallback<T>

Class Overview

The callback that provides data access for AsyncListUtil.

All methods are called on the background thread.

Summary

Public Constructors
AsyncListUtil.DataCallback()
Public Methods
abstract void fillData(T[] data, int startPosition, int itemCount)
Fill the given tile.
int getMaxCachedTiles()
Returns tile cache size limit (in tiles).
void recycleData(T[] data, int itemCount)
Recycle the objects created in fillData(T[], int, int) if necessary.
abstract int refreshData()
Refresh the data set and return the new data item count.
[Expand]
Inherited Methods
From class java.lang.Object

Public Constructors

public AsyncListUtil.DataCallback ()

Public Methods

public abstract void fillData (T[] data, int startPosition, int itemCount)

Fill the given tile.

The provided tile might be a recycled tile, in which case it will already have objects. It is suggested to re-use these objects if possible in your use case.

Parameters
data The data item array to fill into. Should not be accessed beyond itemCount.
startPosition The start position in the list.
itemCount The data item count.

public int getMaxCachedTiles ()

Returns tile cache size limit (in tiles).

The actual number of cached tiles will be the maximum of this value and the number of tiles that is required to cover the range returned by extendRangeInto(int[], int[], int).

For example, if this method returns 10, and the most recent call to extendRangeInto(int[], int[], int) returned {100, 179}, and the tile size is 5, then the maximum number of cached tiles will be 16.

However, if the tile size is 20, then the maximum number of cached tiles will be 10.

The default implementation returns 10.

Returns
  • Maximum cache size.

public void recycleData (T[] data, int itemCount)

Recycle the objects created in fillData(T[], int, int) if necessary.

Parameters
data Array of data items. Should not be accessed beyond itemCount.
itemCount The data item count.

public abstract int refreshData ()

Refresh the data set and return the new data item count.

If the data is being accessed through Cursor this is where the new cursor should be created.

Returns
  • Data item count.