Litho ListRecyclerConfiguration Kotlin with linearLayoutInfoFactory
Я новичок в Kotlin, и я хочу использовать библиотеку Facebook, я нашел способ Java для создания конфигурации утилизатора, но я не могу сделать то же самое в Kotlin.
RecyclerCollectionComponent.create(c)
.disablePTR(true)
.recyclerConfiguration(new ListRecyclerConfiguration(LinearLayoutManager.HORIZONTAL, /*reverse layout*/ false, SNAP_TO_CENTER))
.section(
DataDiffSection.create(c)
.data(generateData(32))
.renderEventHandler(ListSection.onRender(c))
.build())
.canMeasureRecycler(true))
Так как мне это сделать в Котлине? Пока у меня есть это, но это не работает.
.recyclerConfiguration(
ListRecyclerConfiguration.create()
.linearLayoutInfoFactory(LinearLayoutInfoFactory {
c, LinearLayoutManager.HORIZONTAL, false
})
.build()
)
Кажется, он не похож на конструктор фабрики Linearlayoutinfo, я проверил примеры на github и не смог его найти. Если бы я лучше понимал преобразование Java в Kotlin, я бы, наверное, понял, как это легко сделать.
Редактировать: Ошибка от Android Studio:
Неожиданные токены (используйте ';' для разделения выражений в одной строке)
Я предполагаю, что это из-за синтаксиса, но я думаю, что реальная проблема заключается в создании LinearLayoutInfoFactory.
1 ответ
Мне удалось заставить это работать, проблема была вокруг создания конфигурации переработчика, я пытался инициализировать интерфейс, а не фактическую реализацию интерфейса.
RecyclerCollectionComponent.create(c)
.recyclerConfiguration(
ListRecyclerConfiguration.create()
.orientation(LinearLayoutManager.HORIZONTAL)
.snapMode(0)
.build()
)
.section(
DataDiffSection.create<DiscoverListDataModel>(SectionContext(c))
.data(dataModels)
.renderEventHandler(DiscoverListComponent.onRender(c))
.onCheckIsSameItemEventHandler(DiscoverListComponent.isSameItem(c))
.onCheckIsSameContentEventHandler(DiscoverListComponent.isSameContent(c))
.build()
)
.canMeasureRecycler(true)
.disablePTR(true)
.build()