| <html devsite="true"> |
| <head> |
| <title>LoadStateAdapter</title> |
| {% setvar book_path %}/reference/androidx/_book.yaml{% endsetvar %} |
| {% include "_shared/_reference-head-tags.html" %} |
| </head> |
| <body> |
| <div itemscope="" itemtype="http://developers.google.com/ReferenceObject"> |
| <meta itemprop="name" content="LoadStateAdapter"> |
| <meta itemprop="path" content="androidx.paging"> |
| <meta itemprop="property" content="displayLoadStateAsItem(androidx.paging.LoadState)"> |
| <meta itemprop="property" content="getItemCount()"> |
| <meta itemprop="property" content="getItemViewType(kotlin.Int)"> |
| <meta itemprop="property" content="getLoadState()"> |
| <meta itemprop="property" content="getStateViewType(androidx.paging.LoadState)"> |
| <meta itemprop="property" content="onBindViewHolder(androidx.recyclerview.widget.RecyclerView.ViewHolder,androidx.paging.LoadState)"> |
| <meta itemprop="property" content="onBindViewHolder(androidx.recyclerview.widget.RecyclerView.ViewHolder,kotlin.Int)"> |
| <meta itemprop="property" content="onCreateViewHolder(android.view.ViewGroup,androidx.paging.LoadState)"> |
| <meta itemprop="property" content="onCreateViewHolder(android.view.ViewGroup,kotlin.Int)"> |
| <meta itemprop="property" content="setLoadState(androidx.paging.LoadState)"> |
| <meta itemprop="language" content="JAVA"> |
| </div> |
| <div id="header-block"> |
| <div> |
| <h1>LoadStateAdapter</h1> |
| </div> |
| <div id="metadata-info-block"> |
| <div id="source-link"><a href="https://cs.android.com/search?q=file:androidx/paging/LoadStateAdapter.kt+class:androidx.paging.LoadStateAdapter&ss=androidx/platform/frameworks/support" class="external">View Source</a></div> |
| </div> |
| </div> |
| <div id="refdoc-switcher-placeholder"></div> |
| <p> |
| <pre>public abstract class <a href="/reference/androidx/paging/LoadStateAdapter.html">LoadStateAdapter</a><VH extends <a href="/reference/androidx/recyclerview/widget/RecyclerView.ViewHolder.html">RecyclerView.ViewHolder</a>> extends <a href="/reference/androidx/recyclerview/widget/RecyclerView.Adapter.html">RecyclerView.Adapter</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/recyclerview/widget/RecyclerView.Adapter.html">androidx.recyclerview.widget.RecyclerView.Adapter</a></td> |
| </tr> |
| <tr> |
| <td> </td> |
| <td class="jd-inheritance-space"> ↳</td> |
| <td colspan="1"><a href="/reference/androidx/paging/LoadStateAdapter.html">androidx.paging.LoadStateAdapter</a></td> |
| </tr> |
| </tbody> |
| </table> |
| </div> |
| <hr> |
| <p>Adapter for displaying a RecyclerView item based on <code><a href="/reference/androidx/paging/LoadState.html">LoadState</a></code>, such as a loading spinner, or a retry error button.</p> |
| <p>By default will use one shared <code><a href="/reference/androidx/recyclerview/widget/RecyclerView.Adapter.html#getItemViewType(kotlin.Int)">view type</a></code> for all items.</p> |
| <p>By default, both <code><a href="/reference/androidx/paging/LoadState.Loading.html">LoadState.Loading</a></code> and <code><a href="/reference/androidx/paging/LoadState.Error.html">LoadState.Error</a></code> are presented as adapter items, other states are not. To configure this, override <code><a href="/reference/androidx/paging/LoadStateAdapter.html#displayLoadStateAsItem(androidx.paging.LoadState)">displayLoadStateAsItem</a></code>.</p> |
| <p>To present this Adapter as a header and or footer alongside your <code><a href="/reference/androidx/paging/PagingDataAdapter.html">PagingDataAdapter</a></code>, see <code><a href="/reference/androidx/paging/PagingDataAdapter.html#withLoadStateHeaderAndFooter(androidx.paging.LoadStateAdapter,androidx.paging.LoadStateAdapter)">PagingDataAdapter.withLoadStateHeaderAndFooter</a></code>, or use <code><a href="/reference/androidx/recyclerview/widget/ConcatAdapter.html">ConcatAdapter</a></code> directly to concatenate Adapters.</p> |
| <pre class="prettyprint lang-kotlin"> |
| import androidx.paging.LoadState |
| import androidx.paging.LoadStateAdapter |
| import androidx.recyclerview.widget.RecyclerView |
| |
| class LoadStateViewHolder( |
| parent: ViewGroup, |
| retry: () -> Unit |
| ) : RecyclerView.ViewHolder( |
| LayoutInflater.from(parent.context) |
| .inflate(R.layout.load_state_item, parent, false) |
| ) { |
| private val progressBar: ProgressBar = itemView.findViewById(R.id.progress_bar) |
| private val errorMsg: TextView = itemView.findViewById(R.id.error_msg) |
| private val retry: Button = itemView.findViewById<Button>(R.id.retry_button) |
| .also { it.setOnClickListener { retry.invoke() } } |
| |
| fun bind(loadState: LoadState) { |
| if (loadState is LoadState.Error) { |
| errorMsg.text = loadState.error.localizedMessage |
| } |
| progressBar.visibility = toVisibility(loadState is LoadState.Loading) |
| retry.visibility = toVisibility(loadState !is LoadState.Loading) |
| errorMsg.visibility = toVisibility(loadState !is LoadState.Loading) |
| } |
| |
| private fun toVisibility(constraint: Boolean): Int = if (constraint) { |
| View.VISIBLE |
| } else { |
| View.GONE |
| } |
| } |
| |
| /** |
| * Adapter which displays a loading spinner when `state = LoadState.Loading`, and an error |
| * message and retry button when `state is LoadState.Error`. |
| */ |
| class MyLoadStateAdapter( |
| private val retry: () -> Unit |
| ) : LoadStateAdapter<LoadStateViewHolder>() { |
| |
| override fun onCreateViewHolder(parent: ViewGroup, loadState: LoadState) = |
| LoadStateViewHolder(parent, retry) |
| |
| override fun onBindViewHolder(holder: LoadStateViewHolder, loadState: LoadState) = |
| holder.bind(loadState) |
| }</pre> |
| <div class="devsite-table-wrapper"> |
| <table class="responsive"> |
| <colgroup> |
| <col width="40%"> |
| <col> |
| </colgroup> |
| <thead> |
| <tr> |
| <th colspan="100%">See also</th> |
| </tr> |
| </thead> |
| <tbody class="list"> |
| <tr> |
| <td><code><a href="/reference/androidx/paging/PagingDataAdapter.html#withLoadStateHeaderAndFooter(androidx.paging.LoadStateAdapter,androidx.paging.LoadStateAdapter)">withLoadStateHeaderAndFooter</a></code></td> |
| <td></td> |
| </tr> |
| <tr> |
| <td><code><a href="/reference/androidx/paging/PagingDataAdapter.html#withLoadStateHeader(androidx.paging.LoadStateAdapter)">withLoadStateHeader</a></code></td> |
| <td></td> |
| </tr> |
| <tr> |
| <td><code><a href="/reference/androidx/paging/PagingDataAdapter.html#withLoadStateFooter(androidx.paging.LoadStateAdapter)">withLoadStateFooter</a></code></td> |
| <td></td> |
| </tr> |
| </tbody> |
| </table> |
| </div> |
| <h2>Summary</h2> |
| <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><VH extends <a href="/reference/androidx/recyclerview/widget/RecyclerView.ViewHolder.html">RecyclerView.ViewHolder</a>> <a href="/reference/androidx/paging/LoadStateAdapter.html#LoadStateAdapter()">LoadStateAdapter</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 methods</h3></th> |
| </tr> |
| </thead> |
| <tbody class="list"> |
| <tr> |
| <td><code>boolean</code></td> |
| <td> |
| <div><code><a href="/reference/androidx/paging/LoadStateAdapter.html#displayLoadStateAsItem(androidx.paging.LoadState)">displayLoadStateAsItem</a>(@<a href="/reference/androidx/annotation/NonNull.html">NonNull</a> <a href="/reference/androidx/paging/LoadState.html">LoadState</a> loadState)</code></div> |
| <p>Returns true if the LoadState should be displayed as a list item when active.</p> |
| </td> |
| </tr> |
| <tr> |
| <td><code>final int</code></td> |
| <td> |
| <div><code><a href="/reference/androidx/paging/LoadStateAdapter.html#getItemCount()">getItemCount</a>()</code></div> |
| </td> |
| </tr> |
| <tr> |
| <td><code>final int</code></td> |
| <td> |
| <div><code><a href="/reference/androidx/paging/LoadStateAdapter.html#getItemViewType(kotlin.Int)">getItemViewType</a>(int position)</code></div> |
| </td> |
| </tr> |
| <tr> |
| <td><code>final @<a href="/reference/androidx/annotation/NonNull.html">NonNull</a> <a href="/reference/androidx/paging/LoadState.html">LoadState</a></code></td> |
| <td> |
| <div><code><a href="/reference/androidx/paging/LoadStateAdapter.html#getLoadState()">getLoadState</a>()</code></div> |
| <p>LoadState to present in the adapter.</p> |
| </td> |
| </tr> |
| <tr> |
| <td><code>int</code></td> |
| <td> |
| <div><code><a href="/reference/androidx/paging/LoadStateAdapter.html#getStateViewType(androidx.paging.LoadState)">getStateViewType</a>(@<a href="/reference/androidx/annotation/NonNull.html">NonNull</a> <a href="/reference/androidx/paging/LoadState.html">LoadState</a> loadState)</code></div> |
| <p>Override this method to use different view types per LoadState.</p> |
| </td> |
| </tr> |
| <tr> |
| <td><code>abstract void</code></td> |
| <td> |
| <div><code><a href="/reference/androidx/paging/LoadStateAdapter.html#onBindViewHolder(androidx.recyclerview.widget.RecyclerView.ViewHolder,androidx.paging.LoadState)">onBindViewHolder</a>(@<a href="/reference/androidx/annotation/NonNull.html">NonNull</a> VH holder, @<a href="/reference/androidx/annotation/NonNull.html">NonNull</a> <a href="/reference/androidx/paging/LoadState.html">LoadState</a> loadState)</code></div> |
| <p>Called to bind the passed LoadState to the ViewHolder.</p> |
| </td> |
| </tr> |
| <tr> |
| <td><code>final void</code></td> |
| <td> |
| <div><code><a href="/reference/androidx/paging/LoadStateAdapter.html#onBindViewHolder(androidx.recyclerview.widget.RecyclerView.ViewHolder,kotlin.Int)">onBindViewHolder</a>(@<a href="/reference/androidx/annotation/NonNull.html">NonNull</a> VH holder, int position)</code></div> |
| </td> |
| </tr> |
| <tr> |
| <td><code>abstract @<a href="/reference/androidx/annotation/NonNull.html">NonNull</a> VH</code></td> |
| <td> |
| <div><code><a href="/reference/androidx/paging/LoadStateAdapter.html#onCreateViewHolder(android.view.ViewGroup,androidx.paging.LoadState)">onCreateViewHolder</a>(@<a href="/reference/androidx/annotation/NonNull.html">NonNull</a> <a href="https://developer.android.com/reference/android/view/ViewGroup.html">ViewGroup</a> parent, @<a href="/reference/androidx/annotation/NonNull.html">NonNull</a> <a href="/reference/androidx/paging/LoadState.html">LoadState</a> loadState)</code></div> |
| <p>Called to create a ViewHolder for the given LoadState.</p> |
| </td> |
| </tr> |
| <tr> |
| <td><code>final @<a href="/reference/androidx/annotation/NonNull.html">NonNull</a> VH</code></td> |
| <td> |
| <div><code><a href="/reference/androidx/paging/LoadStateAdapter.html#onCreateViewHolder(android.view.ViewGroup,kotlin.Int)">onCreateViewHolder</a>(@<a href="/reference/androidx/annotation/NonNull.html">NonNull</a> <a href="https://developer.android.com/reference/android/view/ViewGroup.html">ViewGroup</a> parent, int viewType)</code></div> |
| </td> |
| </tr> |
| <tr> |
| <td><code>final void</code></td> |
| <td> |
| <div><code><a href="/reference/androidx/paging/LoadStateAdapter.html#setLoadState(androidx.paging.LoadState)">setLoadState</a>(@<a href="/reference/androidx/annotation/NonNull.html">NonNull</a> <a href="/reference/androidx/paging/LoadState.html">LoadState</a> loadState)</code></div> |
| <p>LoadState to present in the adapter.</p> |
| </td> |
| </tr> |
| </tbody> |
| </table> |
| </div> |
| <div class="devsite-table-wrapper"> |
| <table class="responsive" id="inhmethods"> |
| <thead> |
| <tr> |
| <th colspan="100%"><h3>Inherited methods</h3></th> |
| </tr> |
| </thead> |
| <tbody class="list"> |
| <tr> |
| <td><devsite-expandable><span class="expand-control">From <a href="/reference/androidx/recyclerview/widget/RecyclerView.Adapter.html">androidx.recyclerview.widget.RecyclerView.Adapter</a></span> |
| <div class="devsite-table-wrapper"> |
| <table class="responsive"> |
| <colgroup> |
| <col width="40%"> |
| <col> |
| </colgroup> |
| <tbody class="list"> |
| <tr> |
| <td><code>final void</code></td> |
| <td> |
| <div><code><a href="/reference/androidx/recyclerview/widget/RecyclerView.Adapter.html#bindViewHolder(androidx.recyclerview.widget.RecyclerView.ViewHolder,kotlin.Int)">bindViewHolder</a>(@<a href="/reference/androidx/annotation/NonNull.html">NonNull</a> VH p0, int p1)</code></div> |
| </td> |
| </tr> |
| <tr> |
| <td><code>final @<a href="/reference/androidx/annotation/NonNull.html">NonNull</a> VH</code></td> |
| <td> |
| <div><code><a href="/reference/androidx/recyclerview/widget/RecyclerView.Adapter.html#createViewHolder(android.view.ViewGroup,kotlin.Int)">createViewHolder</a>(@<a href="/reference/androidx/annotation/NonNull.html">NonNull</a> <a href="https://developer.android.com/reference/android/view/ViewGroup.html">ViewGroup</a> p0, int p1)</code></div> |
| </td> |
| </tr> |
| <tr> |
| <td><code>int</code></td> |
| <td> |
| <div><code><a href="/reference/androidx/recyclerview/widget/RecyclerView.Adapter.html#findRelativeAdapterPositionIn(androidx.recyclerview.widget.RecyclerView.Adapter,androidx.recyclerview.widget.RecyclerView.ViewHolder,kotlin.Int)">findRelativeAdapterPositionIn</a>(<br> @<a href="/reference/androidx/annotation/NonNull.html">NonNull</a> <a href="/reference/androidx/recyclerview/widget/RecyclerView.Adapter.html">RecyclerView.Adapter</a><@<a href="/reference/androidx/annotation/NonNull.html">NonNull</a> <a href="/reference/androidx/recyclerview/widget/RecyclerView.ViewHolder.html">RecyclerView.ViewHolder</a>> p0,<br> @<a href="/reference/androidx/annotation/NonNull.html">NonNull</a> <a href="/reference/androidx/recyclerview/widget/RecyclerView.ViewHolder.html">RecyclerView.ViewHolder</a> p1,<br> int p2<br>)</code></div> |
| </td> |
| </tr> |
| <tr> |
| <td><code>long</code></td> |
| <td> |
| <div><code><a href="/reference/androidx/recyclerview/widget/RecyclerView.Adapter.html#getItemId(kotlin.Int)">getItemId</a>(int p0)</code></div> |
| </td> |
| </tr> |
| <tr> |
| <td><code>final @<a href="/reference/androidx/annotation/NonNull.html">NonNull</a> <a href="/reference/androidx/recyclerview/widget/RecyclerView.Adapter.StateRestorationPolicy.html">RecyclerView.Adapter.StateRestorationPolicy</a></code></td> |
| <td> |
| <div><code><a href="/reference/androidx/recyclerview/widget/RecyclerView.Adapter.html#getStateRestorationPolicy()">getStateRestorationPolicy</a>()</code></div> |
| </td> |
| </tr> |
| <tr> |
| <td><code>final boolean</code></td> |
| <td> |
| <div><code><a href="/reference/androidx/recyclerview/widget/RecyclerView.Adapter.html#hasObservers()">hasObservers</a>()</code></div> |
| </td> |
| </tr> |
| <tr> |
| <td><code>final boolean</code></td> |
| <td> |
| <div><code><a href="/reference/androidx/recyclerview/widget/RecyclerView.Adapter.html#hasStableIds()">hasStableIds</a>()</code></div> |
| </td> |
| </tr> |
| <tr> |
| <td><code>final void</code></td> |
| <td> |
| <div><code><a href="/reference/androidx/recyclerview/widget/RecyclerView.Adapter.html#notifyDataSetChanged()">notifyDataSetChanged</a>()</code></div> |
| </td> |
| </tr> |
| <tr> |
| <td><code>final void</code></td> |
| <td> |
| <div><code><a href="/reference/androidx/recyclerview/widget/RecyclerView.Adapter.html#notifyItemChanged(kotlin.Int)">notifyItemChanged</a>(int p0)</code></div> |
| </td> |
| </tr> |
| <tr> |
| <td><code>final void</code></td> |
| <td> |
| <div><code><a href="/reference/androidx/recyclerview/widget/RecyclerView.Adapter.html#notifyItemChanged(kotlin.Int,kotlin.Any)">notifyItemChanged</a>(int p0, @<a href="/reference/androidx/annotation/Nullable.html">Nullable</a> <a href="https://developer.android.com/reference/java/lang/Object.html">Object</a> p1)</code></div> |
| </td> |
| </tr> |
| <tr> |
| <td><code>final void</code></td> |
| <td> |
| <div><code><a href="/reference/androidx/recyclerview/widget/RecyclerView.Adapter.html#notifyItemInserted(kotlin.Int)">notifyItemInserted</a>(int p0)</code></div> |
| </td> |
| </tr> |
| <tr> |
| <td><code>final void</code></td> |
| <td> |
| <div><code><a href="/reference/androidx/recyclerview/widget/RecyclerView.Adapter.html#notifyItemMoved(kotlin.Int,kotlin.Int)">notifyItemMoved</a>(int p0, int p1)</code></div> |
| </td> |
| </tr> |
| <tr> |
| <td><code>final void</code></td> |
| <td> |
| <div><code><a href="/reference/androidx/recyclerview/widget/RecyclerView.Adapter.html#notifyItemRangeChanged(kotlin.Int,kotlin.Int)">notifyItemRangeChanged</a>(int p0, int p1)</code></div> |
| </td> |
| </tr> |
| <tr> |
| <td><code>final void</code></td> |
| <td> |
| <div><code><a href="/reference/androidx/recyclerview/widget/RecyclerView.Adapter.html#notifyItemRangeChanged(kotlin.Int,kotlin.Int,kotlin.Any)">notifyItemRangeChanged</a>(int p0, int p1, @<a href="/reference/androidx/annotation/Nullable.html">Nullable</a> <a href="https://developer.android.com/reference/java/lang/Object.html">Object</a> p2)</code></div> |
| </td> |
| </tr> |
| <tr> |
| <td><code>final void</code></td> |
| <td> |
| <div><code><a href="/reference/androidx/recyclerview/widget/RecyclerView.Adapter.html#notifyItemRangeInserted(kotlin.Int,kotlin.Int)">notifyItemRangeInserted</a>(int p0, int p1)</code></div> |
| </td> |
| </tr> |
| <tr> |
| <td><code>final void</code></td> |
| <td> |
| <div><code><a href="/reference/androidx/recyclerview/widget/RecyclerView.Adapter.html#notifyItemRangeRemoved(kotlin.Int,kotlin.Int)">notifyItemRangeRemoved</a>(int p0, int p1)</code></div> |
| </td> |
| </tr> |
| <tr> |
| <td><code>final void</code></td> |
| <td> |
| <div><code><a href="/reference/androidx/recyclerview/widget/RecyclerView.Adapter.html#notifyItemRemoved(kotlin.Int)">notifyItemRemoved</a>(int p0)</code></div> |
| </td> |
| </tr> |
| <tr> |
| <td><code>void</code></td> |
| <td> |
| <div><code><a href="/reference/androidx/recyclerview/widget/RecyclerView.Adapter.html#onAttachedToRecyclerView(androidx.recyclerview.widget.RecyclerView)">onAttachedToRecyclerView</a>(@<a href="/reference/androidx/annotation/NonNull.html">NonNull</a> <a href="/reference/androidx/recyclerview/widget/RecyclerView.html">RecyclerView</a> p0)</code></div> |
| </td> |
| </tr> |
| <tr> |
| <td><code>void</code></td> |
| <td> |
| <div><code><a href="/reference/androidx/recyclerview/widget/RecyclerView.Adapter.html#onBindViewHolder(androidx.recyclerview.widget.RecyclerView.ViewHolder,kotlin.Int,kotlin.collections.MutableList)">onBindViewHolder</a>(@<a href="/reference/androidx/annotation/NonNull.html">NonNull</a> VH p0, int p1, @<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> <a href="https://developer.android.com/reference/java/lang/Object.html">Object</a>> p2)</code></div> |
| </td> |
| </tr> |
| <tr> |
| <td><code>void</code></td> |
| <td> |
| <div><code><a href="/reference/androidx/recyclerview/widget/RecyclerView.Adapter.html#onDetachedFromRecyclerView(androidx.recyclerview.widget.RecyclerView)">onDetachedFromRecyclerView</a>(@<a href="/reference/androidx/annotation/NonNull.html">NonNull</a> <a href="/reference/androidx/recyclerview/widget/RecyclerView.html">RecyclerView</a> p0)</code></div> |
| </td> |
| </tr> |
| <tr> |
| <td><code>boolean</code></td> |
| <td> |
| <div><code><a href="/reference/androidx/recyclerview/widget/RecyclerView.Adapter.html#onFailedToRecycleView(androidx.recyclerview.widget.RecyclerView.ViewHolder)">onFailedToRecycleView</a>(@<a href="/reference/androidx/annotation/NonNull.html">NonNull</a> VH p0)</code></div> |
| </td> |
| </tr> |
| <tr> |
| <td><code>void</code></td> |
| <td> |
| <div><code><a href="/reference/androidx/recyclerview/widget/RecyclerView.Adapter.html#onViewAttachedToWindow(androidx.recyclerview.widget.RecyclerView.ViewHolder)">onViewAttachedToWindow</a>(@<a href="/reference/androidx/annotation/NonNull.html">NonNull</a> VH p0)</code></div> |
| </td> |
| </tr> |
| <tr> |
| <td><code>void</code></td> |
| <td> |
| <div><code><a href="/reference/androidx/recyclerview/widget/RecyclerView.Adapter.html#onViewDetachedFromWindow(androidx.recyclerview.widget.RecyclerView.ViewHolder)">onViewDetachedFromWindow</a>(@<a href="/reference/androidx/annotation/NonNull.html">NonNull</a> VH p0)</code></div> |
| </td> |
| </tr> |
| <tr> |
| <td><code>void</code></td> |
| <td> |
| <div><code><a href="/reference/androidx/recyclerview/widget/RecyclerView.Adapter.html#onViewRecycled(androidx.recyclerview.widget.RecyclerView.ViewHolder)">onViewRecycled</a>(@<a href="/reference/androidx/annotation/NonNull.html">NonNull</a> VH p0)</code></div> |
| </td> |
| </tr> |
| <tr> |
| <td><code>void</code></td> |
| <td> |
| <div><code><a href="/reference/androidx/recyclerview/widget/RecyclerView.Adapter.html#registerAdapterDataObserver(androidx.recyclerview.widget.RecyclerView.AdapterDataObserver)">registerAdapterDataObserver</a>(<br> @<a href="/reference/androidx/annotation/NonNull.html">NonNull</a> <a href="/reference/androidx/recyclerview/widget/RecyclerView.AdapterDataObserver.html">RecyclerView.AdapterDataObserver</a> p0<br>)</code></div> |
| </td> |
| </tr> |
| <tr> |
| <td><code>void</code></td> |
| <td> |
| <div><code><a href="/reference/androidx/recyclerview/widget/RecyclerView.Adapter.html#setHasStableIds(kotlin.Boolean)">setHasStableIds</a>(boolean p0)</code></div> |
| </td> |
| </tr> |
| <tr> |
| <td><code>void</code></td> |
| <td> |
| <div><code><a href="/reference/androidx/recyclerview/widget/RecyclerView.Adapter.html#setStateRestorationPolicy(androidx.recyclerview.widget.RecyclerView.Adapter.StateRestorationPolicy)">setStateRestorationPolicy</a>(<br> @<a href="/reference/androidx/annotation/NonNull.html">NonNull</a> <a href="/reference/androidx/recyclerview/widget/RecyclerView.Adapter.StateRestorationPolicy.html">RecyclerView.Adapter.StateRestorationPolicy</a> p0<br>)</code></div> |
| </td> |
| </tr> |
| <tr> |
| <td><code>void</code></td> |
| <td> |
| <div><code><a href="/reference/androidx/recyclerview/widget/RecyclerView.Adapter.html#unregisterAdapterDataObserver(androidx.recyclerview.widget.RecyclerView.AdapterDataObserver)">unregisterAdapterDataObserver</a>(<br> @<a href="/reference/androidx/annotation/NonNull.html">NonNull</a> <a href="/reference/androidx/recyclerview/widget/RecyclerView.AdapterDataObserver.html">RecyclerView.AdapterDataObserver</a> p0<br>)</code></div> |
| </td> |
| </tr> |
| </tbody> |
| </table> |
| </div> |
| </devsite-expandable> </td> |
| </tr> |
| </tbody> |
| </table> |
| </div> |
| <div class="list"> |
| <h2>Public constructors</h2> |
| <div class="api-item"><a name="LoadStateAdapter--"></a><a name="loadstateadapter"></a> |
| <div class="api-name-block"> |
| <div> |
| <h3 id="LoadStateAdapter()">LoadStateAdapter</h3> |
| </div> |
| </div> |
| <pre class="api-signature no-pretty-print">public <VH extends <a href="/reference/androidx/recyclerview/widget/RecyclerView.ViewHolder.html">RecyclerView.ViewHolder</a>> <a href="/reference/androidx/paging/LoadStateAdapter.html#LoadStateAdapter()">LoadStateAdapter</a>()</pre> |
| </div> |
| </div> |
| <div class="list"> |
| <h2>Public methods</h2> |
| <div class="api-item"><a name="displayLoadStateAsItem-androidx.paging.LoadState-"></a><a name="displayloadstateasitem"></a> |
| <div class="api-name-block"> |
| <div> |
| <h3 id="displayLoadStateAsItem(androidx.paging.LoadState)">displayLoadStateAsItem</h3> |
| </div> |
| </div> |
| <pre class="api-signature no-pretty-print">public boolean <a href="/reference/androidx/paging/LoadStateAdapter.html#displayLoadStateAsItem(androidx.paging.LoadState)">displayLoadStateAsItem</a>(@<a href="/reference/androidx/annotation/NonNull.html">NonNull</a> <a href="/reference/androidx/paging/LoadState.html">LoadState</a> loadState)</pre> |
| <p>Returns true if the LoadState should be displayed as a list item when active.</p> |
| <p>By default, <code><a href="/reference/androidx/paging/LoadState.Loading.html">LoadState.Loading</a></code> and <code><a href="/reference/androidx/paging/LoadState.Error.html">LoadState.Error</a></code> present as list items, others do not.</p> |
| </div> |
| <div class="api-item"><a name="getItemCount--"></a><a name="getitemcount"></a> |
| <div class="api-name-block"> |
| <div> |
| <h3 id="getItemCount()">getItemCount</h3> |
| </div> |
| </div> |
| <pre class="api-signature no-pretty-print">public final int <a href="/reference/androidx/paging/LoadStateAdapter.html#getItemCount()">getItemCount</a>()</pre> |
| </div> |
| <div class="api-item"><a name="getItemViewType-kotlin.Int-"></a><a name="getitemviewtype"></a> |
| <div class="api-name-block"> |
| <div> |
| <h3 id="getItemViewType(kotlin.Int)">getItemViewType</h3> |
| </div> |
| </div> |
| <pre class="api-signature no-pretty-print">public final int <a href="/reference/androidx/paging/LoadStateAdapter.html#getItemViewType(kotlin.Int)">getItemViewType</a>(int position)</pre> |
| </div> |
| <div class="api-item"><a name="getLoadState--"></a><a name="getloadstate"></a> |
| <div class="api-name-block"> |
| <div> |
| <h3 id="getLoadState()">getLoadState</h3> |
| </div> |
| </div> |
| <pre class="api-signature no-pretty-print">public final @<a href="/reference/androidx/annotation/NonNull.html">NonNull</a> <a href="/reference/androidx/paging/LoadState.html">LoadState</a> <a href="/reference/androidx/paging/LoadStateAdapter.html#getLoadState()">getLoadState</a>()</pre> |
| <p>LoadState to present in the adapter.</p> |
| <p>Changing this property will immediately notify the Adapter to change the item it's presenting.</p> |
| </div> |
| <div class="api-item"><a name="getStateViewType-androidx.paging.LoadState-"></a><a name="getstateviewtype"></a> |
| <div class="api-name-block"> |
| <div> |
| <h3 id="getStateViewType(androidx.paging.LoadState)">getStateViewType</h3> |
| </div> |
| </div> |
| <pre class="api-signature no-pretty-print">public int <a href="/reference/androidx/paging/LoadStateAdapter.html#getStateViewType(androidx.paging.LoadState)">getStateViewType</a>(@<a href="/reference/androidx/annotation/NonNull.html">NonNull</a> <a href="/reference/androidx/paging/LoadState.html">LoadState</a> loadState)</pre> |
| <p>Override this method to use different view types per LoadState.</p> |
| <p>By default, this LoadStateAdapter only uses a single view type.</p> |
| </div> |
| <div class="api-item"><a name="onBindViewHolder(androidx.recyclerview.widget.RecyclerView.ViewHolder, androidx.paging.LoadState)"></a><a name="onBindViewHolder-androidx.recyclerview.widget.RecyclerView.ViewHolder-androidx.paging.LoadState-"></a><a name="onbindviewholder"></a> |
| <div class="api-name-block"> |
| <div> |
| <h3 id="onBindViewHolder(androidx.recyclerview.widget.RecyclerView.ViewHolder,androidx.paging.LoadState)">onBindViewHolder</h3> |
| </div> |
| </div> |
| <pre class="api-signature no-pretty-print">public abstract void <a href="/reference/androidx/paging/LoadStateAdapter.html#onBindViewHolder(androidx.recyclerview.widget.RecyclerView.ViewHolder,androidx.paging.LoadState)">onBindViewHolder</a>(@<a href="/reference/androidx/annotation/NonNull.html">NonNull</a> VH holder, @<a href="/reference/androidx/annotation/NonNull.html">NonNull</a> <a href="/reference/androidx/paging/LoadState.html">LoadState</a> loadState)</pre> |
| <p>Called to bind the passed LoadState to the ViewHolder.</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><code>@<a href="/reference/androidx/annotation/NonNull.html">NonNull</a> <a href="/reference/androidx/paging/LoadState.html">LoadState</a> loadState</code></td> |
| <td> |
| <p>LoadState to display.</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%">See also</th> |
| </tr> |
| </thead> |
| <tbody class="list"> |
| <tr> |
| <td><code><a href="/reference/androidx/paging/LoadStateAdapter.html#getItemViewType(kotlin.Int)">getItemViewType</a></code></td> |
| <td></td> |
| </tr> |
| <tr> |
| <td><code><a href="/reference/androidx/paging/LoadStateAdapter.html#displayLoadStateAsItem(androidx.paging.LoadState)">displayLoadStateAsItem</a></code></td> |
| <td></td> |
| </tr> |
| </tbody> |
| </table> |
| </div> |
| </div> |
| <div class="api-item"><a name="onBindViewHolder(androidx.recyclerview.widget.RecyclerView.ViewHolder, kotlin.Int)"></a><a name="onBindViewHolder-androidx.recyclerview.widget.RecyclerView.ViewHolder-kotlin.Int-"></a><a name="onbindviewholder"></a> |
| <div class="api-name-block"> |
| <div> |
| <h3 id="onBindViewHolder(androidx.recyclerview.widget.RecyclerView.ViewHolder,kotlin.Int)">onBindViewHolder</h3> |
| </div> |
| </div> |
| <pre class="api-signature no-pretty-print">public final void <a href="/reference/androidx/paging/LoadStateAdapter.html#onBindViewHolder(androidx.recyclerview.widget.RecyclerView.ViewHolder,kotlin.Int)">onBindViewHolder</a>(@<a href="/reference/androidx/annotation/NonNull.html">NonNull</a> VH holder, int position)</pre> |
| </div> |
| <div class="api-item"><a name="onCreateViewHolder(android.view.ViewGroup, androidx.paging.LoadState)"></a><a name="onCreateViewHolder-android.view.ViewGroup-androidx.paging.LoadState-"></a><a name="oncreateviewholder"></a> |
| <div class="api-name-block"> |
| <div> |
| <h3 id="onCreateViewHolder(android.view.ViewGroup,androidx.paging.LoadState)">onCreateViewHolder</h3> |
| </div> |
| </div> |
| <pre class="api-signature no-pretty-print">public abstract @<a href="/reference/androidx/annotation/NonNull.html">NonNull</a> VH <a href="/reference/androidx/paging/LoadStateAdapter.html#onCreateViewHolder(android.view.ViewGroup,androidx.paging.LoadState)">onCreateViewHolder</a>(@<a href="/reference/androidx/annotation/NonNull.html">NonNull</a> <a href="https://developer.android.com/reference/android/view/ViewGroup.html">ViewGroup</a> parent, @<a href="/reference/androidx/annotation/NonNull.html">NonNull</a> <a href="/reference/androidx/paging/LoadState.html">LoadState</a> loadState)</pre> |
| <p>Called to create a ViewHolder for the given LoadState.</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><code>@<a href="/reference/androidx/annotation/NonNull.html">NonNull</a> <a href="https://developer.android.com/reference/android/view/ViewGroup.html">ViewGroup</a> parent</code></td> |
| <td> |
| <p>The ViewGroup into which the new View will be added after it is bound to an adapter position.</p> |
| </td> |
| </tr> |
| <tr> |
| <td><code>@<a href="/reference/androidx/annotation/NonNull.html">NonNull</a> <a href="/reference/androidx/paging/LoadState.html">LoadState</a> loadState</code></td> |
| <td> |
| <p>The LoadState to be initially presented by the new ViewHolder.</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%">See also</th> |
| </tr> |
| </thead> |
| <tbody class="list"> |
| <tr> |
| <td><code><a href="/reference/androidx/paging/LoadStateAdapter.html#getItemViewType(kotlin.Int)">getItemViewType</a></code></td> |
| <td></td> |
| </tr> |
| <tr> |
| <td><code><a href="/reference/androidx/paging/LoadStateAdapter.html#displayLoadStateAsItem(androidx.paging.LoadState)">displayLoadStateAsItem</a></code></td> |
| <td></td> |
| </tr> |
| </tbody> |
| </table> |
| </div> |
| </div> |
| <div class="api-item"><a name="onCreateViewHolder(android.view.ViewGroup, kotlin.Int)"></a><a name="onCreateViewHolder-android.view.ViewGroup-kotlin.Int-"></a><a name="oncreateviewholder"></a> |
| <div class="api-name-block"> |
| <div> |
| <h3 id="onCreateViewHolder(android.view.ViewGroup,kotlin.Int)">onCreateViewHolder</h3> |
| </div> |
| </div> |
| <pre class="api-signature no-pretty-print">public final @<a href="/reference/androidx/annotation/NonNull.html">NonNull</a> VH <a href="/reference/androidx/paging/LoadStateAdapter.html#onCreateViewHolder(android.view.ViewGroup,kotlin.Int)">onCreateViewHolder</a>(@<a href="/reference/androidx/annotation/NonNull.html">NonNull</a> <a href="https://developer.android.com/reference/android/view/ViewGroup.html">ViewGroup</a> parent, int viewType)</pre> |
| </div> |
| <div class="api-item"><a name="setLoadState-androidx.paging.LoadState-"></a><a name="setloadstate"></a> |
| <div class="api-name-block"> |
| <div> |
| <h3 id="setLoadState(androidx.paging.LoadState)">setLoadState</h3> |
| </div> |
| </div> |
| <pre class="api-signature no-pretty-print">public final void <a href="/reference/androidx/paging/LoadStateAdapter.html#setLoadState(androidx.paging.LoadState)">setLoadState</a>(@<a href="/reference/androidx/annotation/NonNull.html">NonNull</a> <a href="/reference/androidx/paging/LoadState.html">LoadState</a> loadState)</pre> |
| <p>LoadState to present in the adapter.</p> |
| <p>Changing this property will immediately notify the Adapter to change the item it's presenting.</p> |
| </div> |
| </div> |
| </body> |
| </html> |