Package com.firebase.ui.database.paging
Class FirebaseRecyclerPagingAdapter<T,VH extends androidx.recyclerview.widget.RecyclerView.ViewHolder>
- java.lang.Object
-
- androidx.recyclerview.widget.RecyclerView.Adapter<VH>
-
- androidx.paging.PagingDataAdapter<com.google.firebase.database.DataSnapshot,VH>
-
- com.firebase.ui.database.paging.FirebaseRecyclerPagingAdapter<T,VH>
-
- All Implemented Interfaces:
androidx.lifecycle.LifecycleObserver
public abstract class FirebaseRecyclerPagingAdapter<T,VH extends androidx.recyclerview.widget.RecyclerView.ViewHolder> extends androidx.paging.PagingDataAdapter<com.google.firebase.database.DataSnapshot,VH> implements androidx.lifecycle.LifecycleObserverPaginated RecyclerView Adapter for a Firebase Realtime Database query. Configured withDatabasePagingOptions.
-
-
Constructor Summary
Constructors Constructor Description FirebaseRecyclerPagingAdapter(DatabasePagingOptions<T> options)Construct a new FirestorePagingAdapter from the givenDatabasePagingOptions.
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description com.google.firebase.database.DatabaseReferencegetRef(int position)voidinit()Initializes Snapshots and LiveDatavoidonBindViewHolder(VH viewHolder, int position)protected abstract voidonBindViewHolder(VH viewHolder, int position, T model)voidstartListening()Start listening to paging / scrolling events and populating adapter data.voidstopListening()Unsubscribe from paging / scrolling events, no more data will be populated, but the existing data will remain.voidupdateOptions(DatabasePagingOptions<T> options)Re-initialize the Adapter with a new set of options.-
Methods inherited from class androidx.paging.PagingDataAdapter
addLoadStateListener, getItem, getItemCount, getItemId, getLoadStateFlow, peek, refresh, removeLoadStateListener, retry, setHasStableIds, setStateRestorationPolicy, snapshot, submitData, submitData, withLoadStateFooter, withLoadStateHeader, withLoadStateHeaderAndFooter
-
Methods inherited from class androidx.recyclerview.widget.RecyclerView.Adapter
bindViewHolder, createViewHolder, findRelativeAdapterPositionIn, getItemViewType, getStateRestorationPolicy, hasObservers, hasStableIds, notifyDataSetChanged, notifyItemChanged, notifyItemChanged, notifyItemInserted, notifyItemMoved, notifyItemRangeChanged, notifyItemRangeChanged, notifyItemRangeInserted, notifyItemRangeRemoved, notifyItemRemoved, onAttachedToRecyclerView, onBindViewHolder, onCreateViewHolder, onDetachedFromRecyclerView, onFailedToRecycleView, onViewAttachedToWindow, onViewDetachedFromWindow, onViewRecycled, registerAdapterDataObserver, unregisterAdapterDataObserver
-
-
-
-
Constructor Detail
-
FirebaseRecyclerPagingAdapter
public FirebaseRecyclerPagingAdapter(@NonNull DatabasePagingOptions<T> options)Construct a new FirestorePagingAdapter from the givenDatabasePagingOptions.
-
-
Method Detail
-
init
public void init()
Initializes Snapshots and LiveData
-
updateOptions
public void updateOptions(@NonNull DatabasePagingOptions<T> options)Re-initialize the Adapter with a new set of options. Can be used to change the query without re-constructing the entire adapter.
-
startListening
public void startListening()
Start listening to paging / scrolling events and populating adapter data.
-
stopListening
public void stopListening()
Unsubscribe from paging / scrolling events, no more data will be populated, but the existing data will remain.
-
onBindViewHolder
public void onBindViewHolder(@NonNull VH viewHolder, int position)- Specified by:
onBindViewHolderin classandroidx.recyclerview.widget.RecyclerView.Adapter<VH extends androidx.recyclerview.widget.RecyclerView.ViewHolder>
-
onBindViewHolder
protected abstract void onBindViewHolder(@NonNull VH viewHolder, int position, @NonNull T model)- Parameters:
model- the model object containing the data that should be used to populate the view.- See Also:
onBindViewHolder(RecyclerView.ViewHolder, int)
-
getRef
@NonNull public com.google.firebase.database.DatabaseReference getRef(int position)
-
-