【问题标题】:How to add more than 6 items in ItemList.Builder (Android- Auto)?如何在 ItemList.Builder (Android- Auto) 中添加超过 6 个项目?
【发布时间】: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' 库进行开发。

【问题讨论】:

    标签: java android android-auto


    【解决方案1】:

    ListTemplate:表示项目列表的模板。

    此模板允许 ItemList(s) 中总共最多 6 行。主机将忽略任何超过该限制的项目。每行最多可以通过 Row.Builder.addText(CharSequence) 添加 2 行文本。

    因此,您无法执行此操作。

    【讨论】:

    • 感谢您的重播。我注意到默认的“电话”应用程序显示超过 6 个项目,例如联系人列表和最近通话记录。他们是怎么做到的?
    • 我也有同样的问题。我认为在 google I/O 发布之后会更好
    • 我找到了我要找的东西。 SearchTemplate 非常适合我
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-09-29
    • 2017-07-12
    • 2016-11-29
    • 2021-01-26
    相关资源
    最近更新 更多