| <html devsite="true"> |
| <head> |
| <title>PagingSource.LoadResult.Page</title> |
| {% setvar book_path %}/reference/androidx/_book.yaml{% endsetvar %} |
| {% include "_shared/_reference-head-tags.html" %} |
| </head> |
| <body> |
| <div id="metadata-info-block"></div> |
| <h1>PagingSource.LoadResult.Page</h1> |
| <p> |
| <pre>public final data class <a href="/reference/androidx/paging/PagingSource.LoadResult.Page.html">PagingSource.LoadResult.Page</a><Key extends <a href="https://developer.android.com/reference/java/lang/Object.html">Object</a>, Value extends <a href="https://developer.android.com/reference/java/lang/Object.html">Object</a>> extends <a href="/reference/androidx/paging/PagingSource.LoadResult.html">PagingSource.LoadResult</a></pre> |
| </p> |
| <div class="devsite-table-wrapper"> |
| <table class="jd-inheritance-table"> |
| <tbody> |
| <tr> |
| <td colspan="3"><a href="https://developer.android.com/reference/java/lang/Object.html">java.lang.Object</a></td> |
| </tr> |
| <tr> |
| <td class="jd-inheritance-space"> ↳</td> |
| <td colspan="2"><a href="/reference/androidx/paging/PagingSource.LoadResult.html">androidx.paging.PagingSource.LoadResult</a></td> |
| </tr> |
| <tr> |
| <td> </td> |
| <td class="jd-inheritance-space"> ↳</td> |
| <td colspan="1"><a href="/reference/androidx/paging/PagingSource.LoadResult.Page.html">androidx.paging.PagingSource.LoadResult.Page</a></td> |
| </tr> |
| </tbody> |
| </table> |
| </div> |
| <hr> |
| <p>Success result object for <code><a href="/reference/androidx/paging/PagingSource.html#load(androidx.paging.PagingSource.LoadParams)">PagingSource.load</a></code>.</p> |
| <pre class="prettyprint">// One common method of pagination is to use next (and optionally previous) tokens. |
| // The below code shows you how to |
| data class NetworkResponseObject( |
| val items: List<Item>, |
| val next: String, |
| val approximateItemsRemaining: Int |
| ) |
| |
| // The following shows how you use convert such a response loaded in PagingSource.load() to |
| // a Page, which can be returned from that method |
| fun NetworkResponseObject.toPage() = LoadResult.Page( |
| data = items, |
| prevKey = null, // this implementation can only append, can't load a prepend |
| nextKey = next, // next token will be the params.key of a subsequent append load |
| itemsAfter = approximateItemsRemaining |
| )</pre> |
| <pre class="prettyprint">// If you load by page number, the response may not define how to load the next page. |
| data class NetworkResponseObject( |
| val items: List<Item> |
| ) |
| |
| // The following shows how you use the current page number (e.g., the current key in |
| // PagingSource.load() to convert a response into a Page, which can be returned from that method |
| fun NetworkResponseObject.toPage(pageNumber: Int): LoadResult.Page<Int, Item> { |
| return LoadResult.Page( |
| data = items, |
| // Since 0 is the lowest page number, return null to signify no more pages |
| // should be loaded before it. |
| prevKey = if (pageNumber > 0) pageNumber - 1 else null, |
| // This API defines that it's out of data when a page returns empty. When out of |
| // data, we return `null` to signify no more pages should be loaded |
| // If the response instead |
| nextKey = if (items.isNotEmpty()) pageNumber + 1 else null |
| ) |
| }</pre> |
| <h2>Summary</h2> |
| <div class="devsite-table-wrapper"> |
| <table class="responsive"> |
| <colgroup> |
| <col width="40%"> |
| <col> |
| </colgroup> |
| <thead> |
| <tr> |
| <th colspan="100%"><h3>Nested types</h3></th> |
| </tr> |
| </thead> |
| <tbody class="list"> |
| <tr> |
| <td> |
| <div><code>public static class <a href="/reference/androidx/paging/PagingSource.LoadResult.Page.Companion.html">PagingSource.LoadResult.Page.Companion</a></code></div> |
| </td> |
| </tr> |
| </tbody> |
| </table> |
| </div> |
| <div class="devsite-table-wrapper"> |
| <table class="responsive"> |
| <colgroup> |
| <col width="40%"> |
| <col> |
| </colgroup> |
| <thead> |
| <tr> |
| <th colspan="100%"><h3>Constants</h3></th> |
| </tr> |
| </thead> |
| <tbody class="list"> |
| <tr> |
| <td width="40%"><code>static final int</code></td> |
| <td> |
| <div><code><a href="/reference/androidx/paging/PagingSource.LoadResult.Page.Companion.html#COUNT_UNDEFINED()">COUNT_UNDEFINED</a></code></div> |
| </td> |
| </tr> |
| </tbody> |
| </table> |
| </div> |
| <div class="devsite-table-wrapper"> |
| <table class="responsive"> |
| <colgroup> |
| <col width="40%"> |
| <col> |
| </colgroup> |
| <thead> |
| <tr> |
| <th colspan="100%"><h3>Public fields</h3></th> |
| </tr> |
| </thead> |
| <tbody class="list"> |
| <tr> |
| <td width="40%"><code>final @<a href="/reference/androidx/annotation/NonNull.html">NonNull</a> <a href="https://developer.android.com/reference/java/util/List.html">List</a><@<a href="/reference/androidx/annotation/NonNull.html">NonNull</a> Value></code></td> |
| <td> |
| <div><code><a href="/reference/androidx/paging/PagingSource.LoadResult.Page.html#data()">data</a></code></div> |
| <p>Loaded data</p> |
| </td> |
| </tr> |
| <tr> |
| <td width="40%"><code>final int</code></td> |
| <td> |
| <div><code><a href="/reference/androidx/paging/PagingSource.LoadResult.Page.html#itemsAfter()">itemsAfter</a></code></div> |
| <p>Optional count of items after the loaded data.</p> |
| </td> |
| </tr> |
| <tr> |
| <td width="40%"><code>final int</code></td> |
| <td> |
| <div><code><a href="/reference/androidx/paging/PagingSource.LoadResult.Page.html#itemsBefore()">itemsBefore</a></code></div> |
| <p>Optional count of items before the loaded data.</p> |
| </td> |
| </tr> |
| <tr> |
| <td width="40%"><code>final Key</code></td> |
| <td> |
| <div><code><a href="/reference/androidx/paging/PagingSource.LoadResult.Page.html#nextKey()">nextKey</a></code></div> |
| <p><code><a href="/reference/androidx/paging/PagingSource.LoadResult.Page.html">Key</a></code> for next page if more data can be loaded in that direction, <code>null</code> otherwise.</p> |
| </td> |
| </tr> |
| <tr> |
| <td width="40%"><code>final Key</code></td> |
| <td> |
| <div><code><a href="/reference/androidx/paging/PagingSource.LoadResult.Page.html#prevKey()">prevKey</a></code></div> |
| <p><code><a href="/reference/androidx/paging/PagingSource.LoadResult.Page.html">Key</a></code> for previous page if more data can be loaded in that direction, <code>null</code> otherwise.</p> |
| </td> |
| </tr> |
| </tbody> |
| </table> |
| </div> |
| <div class="devsite-table-wrapper"> |
| <table class="responsive"> |
| <colgroup> |
| <col width="40%"> |
| <col> |
| </colgroup> |
| <thead> |
| <tr> |
| <th colspan="100%"><h3>Public constructors</h3></th> |
| </tr> |
| </thead> |
| <tbody class="list"> |
| <tr> |
| <td> |
| <div><code><Key extends <a href="https://developer.android.com/reference/java/lang/Object.html">Object</a>, Value extends <a href="https://developer.android.com/reference/java/lang/Object.html">Object</a>> <a href="/reference/androidx/paging/PagingSource.LoadResult.Page.html#Page(kotlin.collections.List,kotlin.Any,kotlin.Any)">Page</a>(<br> @<a href="/reference/androidx/annotation/NonNull.html">NonNull</a> <a href="https://developer.android.com/reference/java/util/List.html">List</a><@<a href="/reference/androidx/annotation/NonNull.html">NonNull</a> Value> data,<br> Key prevKey,<br> Key nextKey<br>)</code></div> |
| <p>Success result object for <code><a href="/reference/androidx/paging/PagingSource.html#load(androidx.paging.PagingSource.LoadParams)">PagingSource.load</a></code>.</p> |
| </td> |
| </tr> |
| <tr> |
| <td> |
| <div><code><Key extends <a href="https://developer.android.com/reference/java/lang/Object.html">Object</a>, Value extends <a href="https://developer.android.com/reference/java/lang/Object.html">Object</a>> <a href="/reference/androidx/paging/PagingSource.LoadResult.Page.html#Page(kotlin.collections.List,kotlin.Any,kotlin.Any,kotlin.Int,kotlin.Int)">Page</a>(<br> @<a href="/reference/androidx/annotation/NonNull.html">NonNull</a> <a href="https://developer.android.com/reference/java/util/List.html">List</a><@<a href="/reference/androidx/annotation/NonNull.html">NonNull</a> Value> data,<br> Key prevKey,<br> Key nextKey,<br> @<a href="/reference/androidx/annotation/IntRange.html">IntRange</a>(from = -2147483648) int itemsBefore,<br> @<a href="/reference/androidx/annotation/IntRange.html">IntRange</a>(from = -2147483648) int itemsAfter<br>)</code></div> |
| </td> |
| </tr> |
| </tbody> |
| </table> |
| </div> |
| <div class="devsite-table-wrapper"> |
| <table class="responsive"> |
| <colgroup> |
| <col width="40%"> |
| <col> |
| </colgroup> |
| <thead> |
| <tr> |
| <th colspan="100%"><h3>Public methods</h3></th> |
| </tr> |
| </thead> |
| <tbody class="list"> |
| <tr> |
| <td width="40%"><code>@<a href="/reference/androidx/annotation/NonNull.html">NonNull</a> <a href="https://developer.android.com/reference/java/lang/String.html">String</a></code></td> |
| <td> |
| <div><code><a href="/reference/androidx/paging/PagingSource.LoadResult.Page.html#toString()">toString</a>()</code></div> |
| </td> |
| </tr> |
| </tbody> |
| </table> |
| </div> |
| <div class="list"> |
| <h2>Constants</h2> |
| <div class="api-item"><a name="getCOUNT_UNDEFINED()"></a><a name="setCOUNT_UNDEFINED()"></a><a name="getCOUNT_UNDEFINED--"></a><a name="setCOUNT_UNDEFINED--"></a> |
| <h3 class="api-name" id="COUNT_UNDEFINED()">COUNT_UNDEFINED</h3> |
| <pre class="api-signature no-pretty-print">public static final int <a href="/reference/androidx/paging/PagingSource.LoadResult.Page.Companion.html#COUNT_UNDEFINED()">COUNT_UNDEFINED</a></pre> |
| </div> |
| </div> |
| <div class="list"> |
| <h2>Public fields</h2> |
| <div class="api-item"><a name="getData()"></a><a name="setData()"></a><a name="getData--"></a><a name="setData--"></a> |
| <h3 class="api-name" id="data()">data</h3> |
| <pre class="api-signature no-pretty-print">public final @<a href="/reference/androidx/annotation/NonNull.html">NonNull</a> <a href="https://developer.android.com/reference/java/util/List.html">List</a><@<a href="/reference/androidx/annotation/NonNull.html">NonNull</a> Value> <a href="/reference/androidx/paging/PagingSource.LoadResult.Page.html#data()">data</a></pre> |
| <p>Loaded data</p> |
| </div> |
| <div class="api-item"><a name="getItemsAfter()"></a><a name="setItemsAfter()"></a><a name="getItemsAfter--"></a><a name="setItemsAfter--"></a> |
| <h3 class="api-name" id="itemsAfter()">itemsAfter</h3> |
| <pre class="api-signature no-pretty-print">public final int <a href="/reference/androidx/paging/PagingSource.LoadResult.Page.html#itemsAfter()">itemsAfter</a></pre> |
| <p>Optional count of items after the loaded data.</p> |
| </div> |
| <div class="api-item"><a name="getItemsBefore()"></a><a name="setItemsBefore()"></a><a name="getItemsBefore--"></a><a name="setItemsBefore--"></a> |
| <h3 class="api-name" id="itemsBefore()">itemsBefore</h3> |
| <pre class="api-signature no-pretty-print">public final int <a href="/reference/androidx/paging/PagingSource.LoadResult.Page.html#itemsBefore()">itemsBefore</a></pre> |
| <p>Optional count of items before the loaded data.</p> |
| </div> |
| <div class="api-item"><a name="getNextKey()"></a><a name="setNextKey()"></a><a name="getNextKey--"></a><a name="setNextKey--"></a> |
| <h3 class="api-name" id="nextKey()">nextKey</h3> |
| <pre class="api-signature no-pretty-print">public final Key <a href="/reference/androidx/paging/PagingSource.LoadResult.Page.html#nextKey()">nextKey</a></pre> |
| <p><code><a href="/reference/androidx/paging/PagingSource.LoadResult.Page.html">Key</a></code> for next page if more data can be loaded in that direction, <code>null</code> otherwise.</p> |
| </div> |
| <div class="api-item"><a name="getPrevKey()"></a><a name="setPrevKey()"></a><a name="getPrevKey--"></a><a name="setPrevKey--"></a> |
| <h3 class="api-name" id="prevKey()">prevKey</h3> |
| <pre class="api-signature no-pretty-print">public final Key <a href="/reference/androidx/paging/PagingSource.LoadResult.Page.html#prevKey()">prevKey</a></pre> |
| <p><code><a href="/reference/androidx/paging/PagingSource.LoadResult.Page.html">Key</a></code> for previous page if more data can be loaded in that direction, <code>null</code> otherwise.</p> |
| </div> |
| </div> |
| <div class="list"> |
| <h2>Public constructors</h2> |
| <div class="api-item"><a name="Page(kotlin.collections.List, kotlin.Any, kotlin.Any)"></a><a name="Page-kotlin.collections.List-kotlin.Any-kotlin.Any-"></a><a name="page"></a> |
| <h3 class="api-name" id="Page(kotlin.collections.List,kotlin.Any,kotlin.Any)">Page</h3> |
| <pre class="api-signature no-pretty-print">public <Key extends <a href="https://developer.android.com/reference/java/lang/Object.html">Object</a>, Value extends <a href="https://developer.android.com/reference/java/lang/Object.html">Object</a>> <a href="/reference/androidx/paging/PagingSource.LoadResult.Page.html#Page(kotlin.collections.List,kotlin.Any,kotlin.Any)">Page</a>(<br> @<a href="/reference/androidx/annotation/NonNull.html">NonNull</a> <a href="https://developer.android.com/reference/java/util/List.html">List</a><@<a href="/reference/androidx/annotation/NonNull.html">NonNull</a> Value> data,<br> Key prevKey,<br> Key nextKey<br>)</pre> |
| <p>Success result object for <code><a href="/reference/androidx/paging/PagingSource.html#load(androidx.paging.PagingSource.LoadParams)">PagingSource.load</a></code>.</p> |
| <div class="devsite-table-wrapper"> |
| <table class="responsive"> |
| <colgroup> |
| <col width="40%"> |
| <col> |
| </colgroup> |
| <thead> |
| <tr> |
| <th colspan="100%">Parameters</th> |
| </tr> |
| </thead> |
| <tbody class="list"> |
| <tr> |
| <td width="40%"><code>@<a href="/reference/androidx/annotation/NonNull.html">NonNull</a> <a href="https://developer.android.com/reference/java/util/List.html">List</a><@<a href="/reference/androidx/annotation/NonNull.html">NonNull</a> Value> data</code></td> |
| <td> |
| <p>Loaded data</p> |
| </td> |
| </tr> |
| <tr> |
| <td width="40%"><code>Key prevKey</code></td> |
| <td> |
| <p><code><a href="/reference/androidx/paging/PagingSource.LoadResult.Page.html">Key</a></code> for previous page if more data can be loaded in that direction, <code>null</code> otherwise.</p> |
| </td> |
| </tr> |
| <tr> |
| <td width="40%"><code>Key nextKey</code></td> |
| <td> |
| <p><code><a href="/reference/androidx/paging/PagingSource.LoadResult.Page.html">Key</a></code> for next page if more data can be loaded in that direction, <code>null</code> otherwise.</p> |
| </td> |
| </tr> |
| </tbody> |
| </table> |
| </div> |
| </div> |
| <div class="api-item"><a name="Page(kotlin.collections.List, kotlin.Any, kotlin.Any, kotlin.Int, kotlin.Int)"></a><a name="Page-kotlin.collections.List-kotlin.Any-kotlin.Any-kotlin.Int-kotlin.Int-"></a><a name="page"></a> |
| <h3 class="api-name" id="Page(kotlin.collections.List,kotlin.Any,kotlin.Any,kotlin.Int,kotlin.Int)">Page</h3> |
| <pre class="api-signature no-pretty-print">public <Key extends <a href="https://developer.android.com/reference/java/lang/Object.html">Object</a>, Value extends <a href="https://developer.android.com/reference/java/lang/Object.html">Object</a>> <a href="/reference/androidx/paging/PagingSource.LoadResult.Page.html#Page(kotlin.collections.List,kotlin.Any,kotlin.Any,kotlin.Int,kotlin.Int)">Page</a>(<br> @<a href="/reference/androidx/annotation/NonNull.html">NonNull</a> <a href="https://developer.android.com/reference/java/util/List.html">List</a><@<a href="/reference/androidx/annotation/NonNull.html">NonNull</a> Value> data,<br> Key prevKey,<br> Key nextKey,<br> @<a href="/reference/androidx/annotation/IntRange.html">IntRange</a>(from = -2147483648) int itemsBefore,<br> @<a href="/reference/androidx/annotation/IntRange.html">IntRange</a>(from = -2147483648) int itemsAfter<br>)</pre> |
| </div> |
| </div> |
| <div class="list"> |
| <h2>Public methods</h2> |
| <div class="api-item"><a name="toString--"></a><a name="tostring"></a> |
| <h3 class="api-name" id="toString()">toString</h3> |
| <pre class="api-signature no-pretty-print">public @<a href="/reference/androidx/annotation/NonNull.html">NonNull</a> <a href="https://developer.android.com/reference/java/lang/String.html">String</a> <a href="/reference/androidx/paging/PagingSource.LoadResult.Page.html#toString()">toString</a>()</pre> |
| </div> |
| </div> |
| </body> |
| </html> |