在 Leanback 中,我们可以使用 HeaderItem
来标记行(Row)的标题,同时也可以为每行设置一个组(Group)的标识。下面是一个示例代码,以便更好地理解:
HeaderItem headerItem1 = new HeaderItem(0, "Header 1");
HeaderItem headerItem2 = new HeaderItem(1, "Header 2");
HeaderItem headerItem3 = new HeaderItem(2, "Header 3");
List headerItems = new ArrayList<>();
headerItems.add(headerItem1);
headerItems.add(headerItem2);
headerItems.add(headerItem3);
ArrayObjectAdapter rowsAdapter = new ArrayObjectAdapter(new ListRowPresenter());
for (HeaderItem headerItem : headerItems) {
ArrayObjectAdapter listRowAdapter = new ArrayObjectAdapter(new CardPresenter());
// 添加此组的项
listRowAdapter.add(...);
listRowAdapter.add(...);
....
// 将行添加到行适配器中
rowsAdapter.add(new ListRow(headerItem, listRowAdapter));
}
在上面的示例中,我们首先创建几个 HeaderItem
对象,然后将它们添加到一个 List 中。接下来,我们创建了一个 ArrayObjectAdapter
对象,并使用 ListRowPresenter
初始化它。然后,我们使用一个 for 循环,遍历 headerItems
列表,并为每个 HeaderItem
创建一个 ArrayObjectAdapter
对象。将这些适配器添加到行适配器中,以便在 Leanback 中显示。每一行将会显示一个标题(使用 HeaderItem
对象),并包含与该组相关的所有项目。