Добрый день. Как вы храните состояние экрана? 1. Sealed класс error,

success(result), loading
2. Просто data класс с полями loading, error
В первом случае не могу придумать, как лучше всего делать copy от data класса success. И при том не терять состояние при переключении с success на loading и обратно

6 ответов

10 просмотров

можно добавить еще 1 состояние и показывать его, к примеру LoadingAfterSuccess

Посмотри в nowinandroid способ 1 там оч понятно

Общеее состояние выносишь в силд класс, при смена состояния перекладываешь поля

1. Если есть данные, то class, если просто состояние, то object 2. Я пытался узнать тоже самое, пришел к выводу что этот подход не юзабельный при большом кол-ве состояний

Мало кто говорит об этом, но loading предполается как стартовое состояние и больше никогда не используется

При sealed классе с двумя(тремя типами, если еще ккой-нибудь Error) все равно будет необходимость в isLoading:Bool Потому что сам первый object: Loading означает, что нет данных для отображения и происходит загрузка А далее уже после конкретного действия необходимо блокировать интерфейс флагом class Loaded(val isLoading: Boolean)

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

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

А как лучше конвертировать физический адрес в виртуальный при маппинге? В случае ядра у меня, например, direct mapping, первые 768МБ я как есть мапплю в higher half, а остальн...
Evg Resh
26
Всем привет. Нужна платная консультация от тех, кто сталкивался с октябрём в кластере или шарит оч хорошо в цмс. Проблема следующая: после переноса в кластер октябрь начал ...
wl
8
Коллеги, доброе утро. Запустил на удаленном хосте приложение (ручками зашел туда по ssh и запустил, не командой удаленно). Создал потом ssh-туннель, и с моей машины приложение...
Δημήτηρ
9
Добрый день, не подскажите, если в OC-V3 поменять страндартную директорию /storage/ на /storage2/ - не будет сильно много проблем ?
Max Dubovsky
32
'frakturBold' => ['𝖆', '𝖇', '𝖈', '𝖉', '𝖊', '𝖋', '𝖌', '𝖍', '𝖎', '𝖏', '𝖐', '𝖑', '𝖒', '𝖓', '𝖔', '𝖕', '𝖖', '𝖗', '𝖘', '𝖙', '𝖚', '𝖛', '𝖜', '𝖝', '𝖞', '𝖟', '𝕬', '𝕭', '𝕮', '𝕯'...
Roma
4
а я честно сказать не понимаю - нахуя идти учиться на вышку или еще куда-либо и при этом нихуя не делать, типа зачем ? просто корку получить, а нахуй она нужна тогда ?
Eugene Неелов
7
Which companies do you think are innovating best in web design and design practices?
✌️(´ヮ`)
6
> Примечательно, что новый владелец удаляет из GitHub любые жалобы, указывающие на подозрительную активность или смену владельца, и, видимо, рассчитывает на то, что пользовате...
Alex Sherbakov
2
Каким то образом можно определить ширину экрана пользователя перед загрузкой partial-а? Надо рассчитать ширину кадров слайдера для ресайза картинок для container-fluid.
Point 111
22
я часов 15 назад начал пытаться написать хоть что-то напоминающее ос и у меня есть проблема, которую я пытаюсь решить последние часов 5: есть крч 2 исходника с минимальным код...
Al1to
17
Карта сайта