Я начал изучать, как использовать эпоксидную смолу в моем проекте. Я изучаю эту библиотеку, запустив пример проекта . Все было хорошо, пока я не копался в настройках диапазона сетки. Я был озадачен его сеткой.
Как видно из примера приложения, ViewHolders можно разделить на 3 части. Эти детали могут быть представлены, в частности, в моделях, таких как HeaderViewModel_
, ButtonBindingModel_
и CarouselModelGroup
.
А код init RecyclerView следующий:
EpoxyRecyclerView recyclerView = (EpoxyRecyclerView) findViewById(R.id.recycler_view);
recyclerView.setLayoutManager(new GridLayoutManager(this, 2));
Согласно официальному документу:
Если используется GridLayoutManager, это автоматически синхронизирует диапазон
считать с помощью EpoxyController.
Я обнаружил, HeaderViewModel_
и CarouselModelGroup
правильно синхронизируют диапазон, но ButtonBindingModel_
- нет. Я искал слово "span" или "grid" по образцам кодов, Я просто не мог понять, почему ButtonBindingModel_
может иметь свой диапазон, равный 1.
Если я изменю настройку диапазона RecyclerView с 2 на 3:
EpoxyRecyclerView recyclerView = (EpoxyRecyclerView) findViewById(R.id.recycler_view);
recyclerView.setLayoutManager(new GridLayoutManager(this, 3));
HeaderViewModel_
и CarouselModelGroup
еще осталось синхронизировать полный диапазон, но диапазон ButtonBindingModel_
все еще равен 1.
Я хотел бы знать, есть ли подход, чтобы сделать интервал от ButtonBindingModel_
до полного диапазона, и метод для установки HeaderViewModel_
и CarouselModelGroup
на конкретный диапазон независимо от кода (программно) или компоновки. Пожалуйста, помогите мне разобраться в этой проблеме, я ценю это.