vadymhimself / controllers

MVVM library based on the Android Data Binding
3 stars 0 forks source link

Implement ViewPager with RecyclerView and BaseVMs #21

Open vadymhimself opened 6 years ago

vadymhimself commented 6 years ago

@skiff2011 я бы хотел чтобы ты изучил эту тему. Я считаю, что идея использовать саб-контроллеры для пейджера провалилась. Давай обсудим возможность написания лайаут менеджера для RV, который будет удовлетворять наши потребности.

skiff2011 commented 6 years ago

Понял как будет минутка займусь, мы будем использовать BaseVM? Если да то нужно будет создать новую наверное и заекстендить BaseObservable

vadymhimself commented 6 years ago

@skiff2011 а чем тебе не нравится BaseVM ?

skiff2011 commented 6 years ago

Я том что бы сразу создать что то вроде public abstract class NewBaseVm extends Base observable implements BaseVm что бы использовать аннотацию @Bindable

vadymhimself commented 6 years ago

@skiff2011 зачем, если пользователь может по необходимости сам унаследоваться от BaseObservable?

vadymhimself commented 6 years ago

Речь вообще не о адаптере в данном случае, а про лайаут менеджер который будет себя вести как пейджер. Думаю уже есть в интернетах подобные реализации

skiff2011 commented 6 years ago

возможно не лейаут менеджер а PagerSnapHelper? это из его исходников PagerSnapHelper can help achieve a similar behavior to {@link android.support.v4.view.ViewPager}.

vadymhimself commented 6 years ago

@skiff2011 возможно.

В таком случае не хватает двух вещей:

  1. У меня есть волнения на счет сохранения состояний внутри айтемов ресайклера. По факту оно никак не сохраняется. Пример: если внутри одной из таб будет список, и таких табов будет много (больше чем рендерит RV), то при возвращении на табу не получится восстановить позицию скрола
  2. Написать адаптер для связывания RV и таблайаута
skiff2011 commented 6 years ago

по поводу 2 не думаю что это сложно, а вот по поводу 1 подумаю

vadymhimself commented 6 years ago

@skiff2011 Дима сказал у тебя появляется время, ты не мог бы заняться этим?

skiff2011 commented 6 years ago

Да хорошо, я уже начал копать paging library

vadymhimself commented 6 years ago

Paging Library нам сейчас не нужен, а вот с вьюпейджером вопрос более приоритетный. Как на счёт попробовать в нпф в контактах попробовать вариант с ресайклером вместо пейджера?

skiff2011 commented 6 years ago

Окей займусь

vadymhimself commented 6 years ago
  1. Access from VM to View
  2. new BaseAdpaterDecorator(baseAdapter)
vadymhimself commented 6 years ago
  1. Save visible view state through LayoutManager in RecyclerView