public abstract static class AsyncListUtil.ViewCallback extends Object
AsyncListUtil
with the list view.
All methods are called on the main thread.
Modifier and Type | Field and Description |
---|---|
static int |
HINT_SCROLL_ASC
Scrolling in ascending order (from lower to higher positions in the order of the backing
storage).
|
static int |
HINT_SCROLL_DESC
Scrolling in descending order (from higher to lower positions in the order of the backing
storage).
|
static int |
HINT_SCROLL_NONE
No scroll direction hint available.
|
Constructor and Description |
---|
ViewCallback() |
Modifier and Type | Method and Description |
---|---|
void |
extendRangeInto(int[] range,
int[] outRange,
int scrollHint)
Compute a wider range of items that will be loaded for smoother scrolling.
|
abstract void |
getItemRangeInto(int[] outRange)
Compute the range of visible item positions.
|
abstract void |
onDataRefresh()
Called when the entire data set has changed.
|
abstract void |
onItemLoaded(int position)
Called when an item at the given position is loaded.
|
public static final int HINT_SCROLL_NONE
public static final int HINT_SCROLL_DESC
public static final int HINT_SCROLL_ASC
@UiThread public abstract void getItemRangeInto(int[] outRange)
outRange[0] is the position of the first visible item (in the order of the backing storage).
outRange[1] is the position of the last visible item (in the order of the backing storage).
Negative positions and positions greater or equal to AsyncListUtil.getItemCount()
are invalid.
If the returned range contains invalid positions it is ignored (no item will be loaded).
outRange
- The visible item range.@UiThread public void extendRangeInto(int[] range, int[] outRange, int scrollHint)
If there is no scroll hint, the default implementation extends the visible range by half its length in both directions. If there is a scroll hint, the range is extended by its full length in the scroll direction, and by half in the other direction.
For example, if range
is {100, 200}
and scrollHint
is HINT_SCROLL_ASC
, then outRange
will be {50, 300}
.
However, if scrollHint
is HINT_SCROLL_NONE
, then
outRange
will be {50, 250}
range
- Visible item range.outRange
- Extended range.scrollHint
- The scroll direction hint.@UiThread public abstract void onDataRefresh()
@UiThread public abstract void onItemLoaded(int position)
position
- Item position.