StorageStrategy
public abstract class StorageStrategy<K>
Strategy for storing keys in saved state. Extend this class when using custom key types that aren't supported by default. Prefer use of builtin storage strategies: createStringStorage, createLongStorage, createParcelableStorage.
See SelectionTracker.Builder for more detailed advice on which key type to use for your selection keys.
| Parameters | |
|---|---|
<K> |
Selection key type. Built in support is provided for String, Long, and Parcelable types. Use the respective factory method to create a StorageStrategy instance appropriate to the desired type. |
Summary
Public constructors |
|---|
StorageStrategy(@NonNull Class<K> type)Creates a new instance. |
Public methods |
|
|---|---|
abstract @NonNull Bundle |
|
abstract @Nullable Selection<K> |
asSelection(@NonNull Bundle state) |
static @NonNull StorageStrategy<Long> |
|
static @NonNull StorageStrategy<K> |
<K extends Parcelable> createParcelableStorage(@NonNull Class<K> type) |
static @NonNull StorageStrategy<String> |
Public constructors
Public methods
asSelection
public abstract @Nullable Selection<K> asSelection(@NonNull Bundle state)
createLongStorage
public static @NonNull StorageStrategy<Long> createLongStorage()
| Returns | |
|---|---|
@NonNull StorageStrategy<Long> |
StorageStrategy suitable for use with |
createParcelableStorage
public static @NonNull StorageStrategy<K> <K extends Parcelable> createParcelableStorage(@NonNull Class<K> type)
| Returns | |
|---|---|
@NonNull StorageStrategy<K> |
StorageStrategy suitable for use with |
createStringStorage
public static @NonNull StorageStrategy<String> createStringStorage()
| Returns | |
|---|---|
@NonNull StorageStrategy<String> |
StorageStrategy suitable for use with |