SectionedItemTemplate


@RequiresCarApi(value = 8)
@CarProtocol
@ExperimentalCarApi
public final class SectionedItemTemplate implements Template


A template that contains sections of items like rows, grid items, etc.

Summary

Nested types

A builder that constructs SectionedItemTemplate instances.

Constants

static final int

Indicate that alphabetical indexing should not be available for the template which also disables any UI accelerators that the user may be shown to help the user navigate larger lists.

static final int

Indicates that alphabetical indexing should use the item's title as-is with no processing.

static final int

Indicates that alphabetical indexing should ignore English articles (like "the", "an", and "a") as well as non-alphanumeric symbols.

static final int

Indicate that the scroll position should be preserved by scrolling back down to the same index that the user had scrolled to.

static final int

Indicate that the scroll position should reset back to the top when this template is refreshed.

Public methods

boolean
@NonNull List<Action>

Returns the list of actions that should appear alongside the content of this template.

int

Returns the alphabetical indexing strategy.

@Nullable Header

Returns the optional header for this template.

int

Returns the strategy to use when this template is used as a refresh.

@NonNull List<Section<Object>>

Returns the list of sections within this template.

int
boolean

This method is deprecated.

use getAlphabeticalIndexingStrategy with setAlphabeticalIndexingStrategy

boolean

Returns whether or not this template is in a loading state.

@NonNull String

Constants

ALPHABETICAL_INDEXING_DISABLED

Added in 1.8.0-alpha03
public static final int ALPHABETICAL_INDEXING_DISABLED = 0

Indicate that alphabetical indexing should not be available for the template which also disables any UI accelerators that the user may be shown to help the user navigate larger lists.

This is the default behavior if not explicitly set.

ALPHABETICAL_INDEXING_TITLE_AS_IS

Added in 1.8.0-alpha03
public static final int ALPHABETICAL_INDEXING_TITLE_AS_IS = 1

Indicates that alphabetical indexing should use the item's title as-is with no processing.

Note that a UI accelerator may still group the item under the "miscellaneous" category if the title starts with a non-alphabetical character.

ALPHABETICAL_INDEXING_TITLE_IGNORE_ARTICLES_AND_SYMBOLS

Added in 1.8.0-alpha03
public static final int ALPHABETICAL_INDEXING_TITLE_IGNORE_ARTICLES_AND_SYMBOLS = 2

Indicates that alphabetical indexing should ignore English articles (like "the", "an", and "a") as well as non-alphanumeric symbols.

Note this will not change the display of the item's title, just how it's sorted. For example, "The Example Song" will continue to show up as "The Example Song", but will be sorted into the "E" bucket.

SCROLL_STATE_PRESERVE_INDEX

Added in 1.8.0-alpha03
public static final int SCROLL_STATE_PRESERVE_INDEX = 1

Indicate that the scroll position should be preserved by scrolling back down to the same index that the user had scrolled to.

If the index no longer exists, the scroll position will be set to the bottom of the new list.

SCROLL_STATE_RESET_TO_TOP

Added in 1.8.0-alpha03
public static final int SCROLL_STATE_RESET_TO_TOP = 0

Indicate that the scroll position should reset back to the top when this template is refreshed.

This is the default behavior if not explicitly set.

Public methods

equals

public boolean equals(@Nullable Object other)

getActions

Added in 1.7.0
public @NonNull List<ActiongetActions()

Returns the list of actions that should appear alongside the content of this template.

getAlphabeticalIndexingStrategy

Added in 1.8.0-alpha03
public int getAlphabeticalIndexingStrategy()

Returns the alphabetical indexing strategy.

"Indexing" refers to the process of examining list contents (e.g. item titles) to sort, partition, or filter a list. Indexing is generally used for features called "Accelerators", which allow a user to quickly find a particular Item in a long list.

Individual items may be excluded from the list by setting their #isIndexable field to false.

getHeader

Added in 1.7.0
public @Nullable Header getHeader()

Returns the optional header for this template.

getScrollStatePersistenceStrategy

Added in 1.8.0-alpha03
public int getScrollStatePersistenceStrategy()

Returns the strategy to use when this template is used as a refresh. See setScrollStatePersistenceStrategy

getSections

Added in 1.7.0
public @NonNull List<Section<Object>> getSections()

Returns the list of sections within this template.

hashCode

public int hashCode()

isAlphabeticalIndexingAllowed

Added in 1.7.0
Deprecated in 1.8.0-alpha03
public boolean isAlphabeticalIndexingAllowed()

Returns whether this list can be indexed alphabetically, by item title.

"Indexing" refers to the process of examining list contents (e.g. item titles) to sort, partition, or filter a list. Indexing is generally used for features called "Accelerators", which allow a user to quickly find a particular Item in a long list.

To exclude a single item from indexing, see the relevant item's API.

To enable/disable accelerators for the entire list, see setAlphabeticalIndexingAllowed

isLoading

Added in 1.7.0
public boolean isLoading()

Returns whether or not this template is in a loading state.

toString

public @NonNull String toString()