Join us on the livestream at Android Dev Summit on 7-8 November 2018, starting at 10AM PDT!

ItemKeyProvider

public abstract class ItemKeyProvider
extends Object

java.lang.Object
   ↳ androidx.recyclerview.selection.ItemKeyProvider<K>


Provides selection library access to stable selection keys identifying items presented by a RecyclerView instance.

Summary

Nested classes

@interface ItemKeyProvider.Scope

 

Constants

int SCOPE_CACHED

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

int SCOPE_MAPPED

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

Protected constructors

ItemKeyProvider(int scope)

Creates a new provider with the given scope.

Public methods

abstract K getKey(int position)
abstract int getPosition(K key)

Inherited methods

Constants

SCOPE_CACHED

public static final int SCOPE_CACHED

Provides access to cached data based for items that were recently bound in the view. Employing this provider will result in a reduced feature-set, as some features like SHIFT+click range selection and band selection are dependent on mapped access.

Constant Value: 1 (0x00000001)

SCOPE_MAPPED

public static final int SCOPE_MAPPED

Provides access to all data, regardless of whether it is bound to a view or not. Key providers with this access type enjoy support for enhanced features like: SHIFT+click range selection, and band selection.

Constant Value: 0 (0x00000000)

Protected constructors

ItemKeyProvider

protected ItemKeyProvider (int scope)

Creates a new provider with the given scope.

Parameters
scope int: Scope can't be changed at runtime.

Public methods

getKey

public abstract K getKey (int position)

Parameters
position int

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

getPosition

public abstract int getPosition (K key)

Parameters
key K

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