Android Leanback的ArrayObjectAdapter添加多个Presenter

Cog*_*cis 0 android android-tv leanback

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

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

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

小智 5

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

例子

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);
Run Code Online (Sandbox Code Playgroud)