如何在 ItemList.Builder (Android- Auto) 中添加超过 6 个项目?
Posted
技术标签:
【中文标题】如何在 ItemList.Builder (Android- Auto) 中添加超过 6 个项目?【英文标题】:How to add more than 6 items in ItemList.Builder (Android- Auto)? 【发布时间】:2021-01-11 12:11:07 【问题描述】:我正在尝试开发与汽车 https://developer.android.com/training/cars 兼容的应用程序。我 fork 官方 GitHub 示例并成功运行了应用程序https://github.com/android/car-samples/blob/main/car_app_library/showcase/src/main/java/androidx/car/app/samples/showcase/templates/ListTemplateDemoScreen.java。 但问题是可以在 ListItemTemplate 中显示 6 个项目没有任何问题,但我需要显示超过 15 个项目。因此,如果我添加超过 6 行,我就会遇到异常。
我试过了:
ItemList.Builder listBuilder = ItemList.builder();
listBuilder.addItem(
Row.builder()
.setOnClickListener(ParkedOnlyOnClickListener.create(() -> onClick("Parked action")))
.setTitle("Parked Only Title")
.addText("More Parked only text.")
.build());
for (int i = 2; i <= 15; ++i) //if items < 6 then it works fine
final String onClickText = "Clicked row: " + i;
listBuilder.addItem(
Row.builder()
.setOnClickListener(() -> onClick(onClickText))
.setTitle("Title " + i)
.addText("First line of text")
.addText("Second line of text")
.build());
异常 - 原因:java.lang.IllegalArgumentException:数字 添加的行数超过了支持的最大值 6
我正在使用'com.google.android.libraries.car:car-app:1.0.0-beta.1'
库进行开发。
【问题讨论】:
【参考方案1】:ListTemplate:表示项目列表的模板。
此模板允许 ItemList(s) 中总共最多 6 行。主机将忽略任何超过该限制的项目。每行最多可以通过 Row.Builder.addText(CharSequence) 添加 2 行文本。
因此,您无法执行此操作。
【讨论】:
感谢您的重播。我注意到默认的“电话”应用程序显示超过 6 个项目,例如联系人列表和最近通话记录。他们是怎么做到的? 我也有同样的问题。我认为在 google I/O 发布之后会更好 我找到了我要找的东西。 SearchTemplate 非常适合我以上是关于如何在 ItemList.Builder (Android- Auto) 中添加超过 6 个项目?的主要内容,如果未能解决你的问题,请参考以下文章
Flutter-如何在firebase查询中使用逻辑AND以及如何更新数据?