Для решения этой проблемы мне пришлось проверить репозиторий Leback Showcase
На основе класса ShadowRowPresenterSelector Мне удалось найти, как создатьселектор для моих пользовательских RowPresenters.
class ShadowRowPresenterSelector : PresenterSelector() {
private val aCustomListRowPresenter by lazy { ACustomListRowPresenter() }
private val bCustomListRowPresenter by lazy { BCustomListRowPresenter() }
override fun getPresenter(item: Any): Presenter {
return when (item) {
is ARowVM -> {
aCustomListRowPresenter
}
is BRowVM -> {
bCustomListRowPresenter
}
else -> aCustomListRowPresenter
}
}
override fun getPresenters(): Array<Presenter> {
return arrayOf(aCustomListRowPresenter, bCustomListRowPresenter)
}
}
Что заставило меня вызывать метод getPresenter
несколько раз, так это то, что я каждый раз по ошибке создавал новый объект для своего собственного предъявителя строки.
Надеюсь, это поможет кому-то в будущем.