Litho ListRecyclerConfiguration Kotlin with linearLayoutInfoFactory - PullRequest
0 голосов
/ 21 декабря 2018

Я новичок в 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:

Неожиданные токены (use ';'чтобы разделить выражения в одной строке)

Я предполагаю, что это из-за синтаксиса, но я думаю, что реальная проблема заключается в построении LinearLayoutInfoFactory.

1 Ответ

0 голосов
/ 21 декабря 2018

Мне удалось заставить это работать, проблема была вокруг создания конфигурации переработчика, я пытался инициализировать интерфейс, а не фактическую реализацию интерфейса.

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()
...