将多个演示者添加到Android Leanback的ArrayObjectAdapter

问题描述 投票:0回答:1

我想在同一行(ListRow)中显示两种不同类型的卡片。

我尝试通过添加viewType来修改Presenter类,类似于处理在RecyclerVew中显示多个行类型,但它不起作用。

我尝试深入研究Presenter和ArrayObjectAdapter代码,但没有明显的选择来实现这一目标。如果有人这样做了,请指出我正确的方向。

android android-tv leanback
1个回答
2
投票

您可以使用ClassPresenterSelector在同一行中显示不同类型的卡片

Example

ClassPresenterSelector selector = new ClassPresenterSelector();

YourDetailTypePresenter detailPresenter = new YourDetailTypePresenter();
YourImageTypePresenter imagePresenter = new YourImageTypePresenter();

selector.addClassPresenter(DetailsOverviewRow.class, detailPresenter);
selector.addClassPresenter(ImageOverviewRow.class, imagePresenter);

mRowsAdapter = new ArrayObjectAdapter(selector);
© www.soinside.com 2019 - 2024. All rights reserved.