arch-android

//Android/br.com.arch.toolkit.android.recyclerAdapter/BaseRecyclerAdapter

BaseRecyclerAdapter

abstract class BaseRecyclerAdapter<MODEL : Any>(differ: DiffUtil.ItemCallback<MODEL> = DefaultItemDiffer()) : RecyclerView.Adapter<BaseViewHolder> , StickyHeaders

A base implementation of RecyclerView.Adapter that uses AsyncListDiffer and ViewBinder for efficient list updates and simplified view binding.

Parameters

android

   
MODEL The type of data to be displayed in the list.
differ The DiffUtil.ItemCallback to use for calculating list differences. Defaults to DefaultItemDiffer.

Inheritors

 
SimpleAdapter
SimpleStickyAdapter

Constructors

   
BaseRecyclerAdapter [android]
constructor(differ: DiffUtil.ItemCallback<MODEL> = DefaultItemDiffer())

Properties

Name Summary
itemCount [android]
open override val itemCount: Int
items [android]
var items: List<MODEL>
The current list of items displayed by the adapter.
stateRestorationPolicy [android]
@get:NonNull
override var stateRestorationPolicy: RecyclerView.Adapter.StateRestorationPolicy

Functions

Name Summary
addItem [android]
open fun addItem(item: MODEL)
Adds an item to the end of the list.
bindViewHolder [android]
fun bindViewHolder(@NonNullholder: BaseViewHolder, position: Int)
createViewHolder [android]
@NonNull
fun createViewHolder(@NonNullparent: @EnhancedNullability android/view/ViewGroup, viewType: Int): BaseViewHolder
findRelativeAdapterPositionIn [android]
open fun findRelativeAdapterPositionIn(@NonNulladapter: RecyclerView.Adapter<out RecyclerView.ViewHolder?>, @NonNullviewHolder: RecyclerView.ViewHolder, localPosition: Int): Int
getItemCount [android]
open override fun getItemCount(): Int
getItemId [android]
open fun getItemId(position: Int): Long
getItemViewType [android]
open fun getItemViewType(position: Int): Int
hasObservers [android]
fun hasObservers(): Boolean
hasStableIds [android]
fun hasStableIds(): Boolean
isStickyHeader [android]
open override fun isStickyHeader(position: Int): Boolean
Checks if the item at the given position should be a sticky header.
notifyDataSetChanged [android]
fun notifyDataSetChanged()
notifyItemChanged [android]
fun notifyItemChanged(position: Int)
fun notifyItemChanged(position: Int, @Nullablepayload: Any?)
notifyItemInserted [android]
fun notifyItemInserted(position: Int)
notifyItemMoved [android]
fun notifyItemMoved(fromPosition: Int, toPosition: Int)
notifyItemRangeChanged [android]
fun notifyItemRangeChanged(positionStart: Int, itemCount: Int)
fun notifyItemRangeChanged(positionStart: Int, itemCount: Int, @Nullablepayload: Any?)
notifyItemRangeInserted [android]
fun notifyItemRangeInserted(positionStart: Int, itemCount: Int)
notifyItemRangeRemoved [android]
fun notifyItemRangeRemoved(positionStart: Int, itemCount: Int)
notifyItemRemoved [android]
fun notifyItemRemoved(position: Int)
onAttachedToRecyclerView [android]
open fun onAttachedToRecyclerView(@NonNullrecyclerView: RecyclerView)
onBindViewHolder [android]
open fun onBindViewHolder(@NonNullholder: BaseViewHolder, position: Int, @NonNullpayloads: List<Any?>)
open override fun onBindViewHolder(holder: BaseViewHolder, position: Int)
onCreateViewHolder [android]
@NonNull
abstract fun onCreateViewHolder(@NonNullp0: @EnhancedNullability android/view/ViewGroup, p1: Int): BaseViewHolder
open override fun onCreateViewHolder(parent: ERROR CLASS: Symbol not found for ViewGroup, viewType: Int): BaseViewHolder
onDetachedFromRecyclerView [android]
open fun onDetachedFromRecyclerView(@NonNullrecyclerView: RecyclerView)
onFailedToRecycleView [android]
open fun onFailedToRecycleView(@NonNullholder: BaseViewHolder): Boolean
onViewAttachedToWindow [android]
open fun onViewAttachedToWindow(@NonNullholder: BaseViewHolder)
onViewDetachedFromWindow [android]
open fun onViewDetachedFromWindow(@NonNullholder: BaseViewHolder)
onViewRecycled [android]
open fun onViewRecycled(@NonNullholder: BaseViewHolder)
registerAdapterDataObserver [android]
open fun registerAdapterDataObserver(@NonNullobserver: RecyclerView.AdapterDataObserver)
removeItem [android]
open fun removeItem(item: MODEL)
Removes an item from the list.
setHasStableIds [android]
open fun setHasStableIds(hasStableIds: Boolean)
setList [android]
open fun setList(newList: List<MODEL>)
Updates the list of items displayed by the adapter.
unregisterAdapterDataObserver [android]
open fun unregisterAdapterDataObserver(@NonNullobserver: RecyclerView.AdapterDataObserver)
withListener [android]
fun withListener(onItemClick: (MODEL) -> Unit): BaseRecyclerAdapter<MODEL>
Sets a global click listener for all items.
[android]
fun withListener(itemType: Int, onItemClick: (model: MODEL) -> Unit): BaseRecyclerAdapter<MODEL>
Sets a click listener for a specific view type.