ListTemplate.Builder
public final class ListTemplate.Builder
A builder of ListTemplate.
Summary
Public methods
addAction
@RequiresCarApi(value = 6)
public @NonNull ListTemplate.Builder addAction(@NonNull Action action)
Adds a template scoped action outside the rows.
| Throws | |
|---|---|
java.lang.IllegalArgumentException |
if |
| See also | |
|---|---|
ACTIONS_CONSTRAINTS_FAB |
addSectionedList
public @NonNull ListTemplate.Builder addSectionedList(@NonNull SectionedItemList list)
Adds an SectionedItemList to display in the template.
Use this method to add multiple lists to the template. Each SectionedItemList will be grouped under its header. These lists cannot be mixed with an ItemList added via setSingleList. If a single list was previously added, it will be cleared.
If the added SectionedItemList contains a ItemList.OnSelectedListener, then it cannot be added alongside other SectionedItemList(s).
| Throws | |
|---|---|
java.lang.NullPointerException |
if |
java.lang.IllegalArgumentException |
if |
build
public @NonNull ListTemplate build()
Constructs the template defined by this builder.
Requirements The number of items in theItemList should be smaller or equal than the limit provided by CONTENT_LIMIT_TYPE_LIST. The host will ignore any items over that limit. Each Rows can add up to 2 lines of texts via addText.
If none of the header Action, the header title or the action strip have been set on the template, the header is hidden.
| Throws | |
|---|---|
java.lang.IllegalStateException |
if the template is in a loading state but there are lists added or vice versa |
java.lang.IllegalArgumentException |
if the added |
| See also | |
|---|---|
getContentLimit |
clearSectionedLists
@ExperimentalCarApi
public @NonNull ListTemplate.Builder clearSectionedLists()
Clears all of the SectionedItemLists added via addSectionedList
public @NonNull ListTemplate.BuildersetActionStrip(@NonNull ActionStrip actionStrip)
Sets the ActionStrip for this template or null to not display an ActionStrip.
Unless set with this method, the template will not have an action strip.
Requirements This template allows up to 2Actions in its ActionStrip. Of the 2 allowed Actions, one of them can contain a title as set via setTitle. Otherwise, only Actions with icons are allowed.
| Throws | |
|---|---|
java.lang.IllegalArgumentException |
if |
java.lang.NullPointerException |
if |
setHeader
@RequiresCarApi(value = 7)
public @NonNull ListTemplate.Builder setHeader(@NonNull Header header)
Sets the Header for this template.
The end header actions will show up differently inside vs outside of a map template. See addEndHeaderAction for more details.
| Throws | |
|---|---|
java.lang.NullPointerException |
if |
public @NonNull ListTemplate.BuildersetHeaderAction(@NonNull Action headerAction)
Sets the Action that will be displayed in the header of the template, or null to not display an action.
Unless set with this method, the template will not have a header action.
Requirements This template only supports either one ofAPP_ICON and BACK as a header Action.
| Throws | |
|---|---|
java.lang.IllegalArgumentException |
if |
java.lang.NullPointerException |
if |
setLoading
public @NonNull ListTemplate.Builder setLoading(boolean isLoading)
Sets whether the template is in a loading state.
If set to true, the UI will display a loading indicator where the list content would be otherwise. The caller is expected to call invalidate and send the new template content to the host once the data is ready.
If set to false, the UI will display the contents of the ItemList instance(s) added via setSingleList or addSectionedList.
setSingleList
public @NonNull ListTemplate.Builder setSingleList(@NonNull ItemList list)
Sets a single ItemList to show in the template.
Note that this list cannot be mixed with others added via addSectionedList . If multiple lists were previously added, they will be cleared.
| Throws | |
|---|---|
java.lang.NullPointerException |
if |
public @NonNull ListTemplate.BuildersetTitle(@NonNull CharSequence title)
Sets the title of the template.
Unless set with this method, the template will not have a title.
Only DistanceSpans and DurationSpans are supported in the input string.
| Throws | |
|---|---|
java.lang.NullPointerException |
if |
java.lang.IllegalArgumentException |
if |