将多个 Presenter 添加到 Android Leanback 的 ArrayObjectAdapter

Adding Multiple Presenters to ArrayObjectAdapter of Android Leanback

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

我试图通过添加 viewType 来修改 Presenter class,类似于在 RecyclerVew 中处理显示多个行类型,但它没有用。

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

您可以使用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);