StableIdKeyProvider

public final class StableIdKeyProvider
extends ItemKeyProvider<Long>

java.lang.Object
   ↳ androidx.recyclerview.selection.ItemKeyProvider<java.lang.Long>
     ↳ androidx.recyclerview.selection.StableIdKeyProvider


An ItemKeyProvider that provides stable ids by way of cached RecyclerView.Adapter stable ids. Items enter the cache as they are laid out by RecyclerView, and are removed from the cache as they are recycled.

There are trade-offs with this implementation as it necessarily auto-boxes long stable id values into Long values for use as selection keys. The core Selection API uses a parameterized key type to permit other keys (such as Strings or URIs).

Summary

Inherited constants

Public constructors

StableIdKeyProvider(RecyclerView recyclerView)

Creates a new key provider that uses cached long stable ids associated with the RecyclerView items.

Public methods

Long getKey(int position)
int getPosition(Long key)

Inherited methods

Public constructors

StableIdKeyProvider

public StableIdKeyProvider (RecyclerView recyclerView)

Creates a new key provider that uses cached long stable ids associated with the RecyclerView items.

Parameters
recyclerView RecyclerView: the owner RecyclerView

Public methods

getKey

public Long getKey (int position)

Parameters
position int

Returns
Long The selection key at the given adapter position, or null.

getPosition

public int getPosition (Long key)

Parameters
key Long

Returns
int the position corresponding to the selection key, or RecyclerView.NO_POSITION.