StableIdKeyProvider

class StableIdKeyProvider : ItemKeyProvider


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

Public constructors

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

Public functions

Long?
getKey(position: Int)
Int

Inherited Constants

From androidx.recyclerview.selection.ItemKeyProvider
const Int

Provides access to cached data based for items that were recently bound in the view.

const Int

Provides access to all data, regardless of whether it is bound to a view or not.

Public constructors

StableIdKeyProvider

Added in 1.0.0
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 functions

getKey

Added in 1.2.0-alpha02
fun getKey(position: Int): Long?
Returns
Long?

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

getPosition

Added in 1.0.0
fun getPosition(key: Long): Int
Returns
Int

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