如何在 ItemList.Builder (Android-Auto) 中添加 6 个以上的项目?

问题描述

我正在尝试开发与汽车 https://developer.android.com/training/cars 兼容的应用。我分叉了官方 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' 库进行开发。

解决方法

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

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

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