169 похожих чатов

Всем привет. Есть вопрос касательно приложения с MVP. Суть такова:

есть ViewPager с тремя фрагментами. Все фрагменты одинаковы (содержат RecyclerView), отличается только контент. Если для каждого фрагмента делать свой класс со своим презентером, всё работает как положено. Но такой подход мне не очень нравится, поскольку по структуре фрагменты одинаковы, т.е. происходит лишний копипаст кода. Я хотел бы использовать несколько экземпляров одного класса фрагмента и в зависимости от ситуации отдавать ему, скажем, разные презентеры или реализовать в одном презентере логику выбора контента. Но в последнем случае начинает твориться какая-то дичь, контент подгружается неправильно. Как вообще лучше быть в таком случае?

4 ответов

2 просмотра

Ты пытаясь избежать копипаст плодишь ещё более страшных монстров)

Хорошо начал, но финал всё испортил. Творится дичь — ну, значит, так закодил. Как лучше быть — кодить хорошо.

Я пытался похожее сделать в mvvm - три фрагмента, три адаптера и три вьмодели. Логика отличается только в адаптерах, в моделях разное только подмножество данных. Но при попытке сделать базовый класс с параметрами повылазило такое что нуегонах.

Так а ты юзаешь мокси?

Похожие вопросы

Обсуждают сегодня

Такой вопросец - есть функция function MySuperDuperConcat(const a: array of AnsiString): AnsiString; Как мне в её теле сделать вот так? Result:=Concat(a); А не грустный вариан...
notme
15
Есть какой-нибудь для Delphi/FPC T*Compression(Decompression)Stream на базе LZ4/Zstd/любой другой быстрый(и хорошо сжимающий) алгоритм А ещё лучше в pure pascal А ещё лучше од...
notme
48
type TObj = object procedure Init; virtual; end; TObj1 = object(TObj) procedure Init; override; end; procedure TObj1.Init; begin inherited; end; procedur...
Alexander 👋
29
А чем вам питонисты не угодили?😂
.
79
Можно ли загрузить скрипт py в бота чтобы он работал по нему? как это сделать?
huskadam #RCC Фанат? @hitlerpvp
13
Всем здравствуйте! Я хотел узнать сколько стоит средняя месячная зарплата у Electron js разработчиков? Мне очень это важно и нужно, плиз помогите узнать эту инфу! Для Джунио...
U.K.
10
Всем привет, написал код ниже, но он выдает сегфолт, в чем причина? #include <stdio.h> #include <stdlib.h> #include <string.h> struct product { char *name; float price; };...
buzz базз
77
А дин типизация это хорошо или плохо?
Alexey
12
Язык Си можно выучить за день? По книжке ANSI C на 230 страниц
Vincent Vegan
29
Hello. Could you please help me with finding all coordinates within a radius using a spatial index, given that I have a table with coordinates? SET @lng = 37.57925; SET @lat ...
Rinchin G
7
Карта сайта