Хелоу. Юзаю compose NavHost. Мне нужно передать объект в новый

экран при навигации. Доки, SO и codelab'ы пишут что мне нужно сделать плейсхолдер под объект и сериализовать этот объект в строку для того чтобы получить его в новом экране.

Вопрос - зачем так сложно? Есть ли способ просто передать объект без его сериализации?

7 ответов

25 просмотров

а просто поля передать(через аргументы) на другой экран и положить в обьект? не получиться?

Yuri-Pisarev Автор вопроса
Vasya
а просто поля передать(через аргументы) на другой ...

Я собственно сейчас так и делаю. Только еще и мапу держу с аргументами под следующие экраны, т.к. у меня навигация вся в одном месте. Это как-то ну очень не по современному. Вот думал может у компоуза есть какое-нибудь решение

Vasya
а просто поля передать(через аргументы) на другой ...

а если у меня объект с 20 полями? это двадцать аргументов передавать?🤣

Yuri-Pisarev Автор вопроса
𝙈𝙖𝙠𝙨𝙤𝙣𝙞𝙘 🇷🇺 👨🏻‍💻
а если у меня объект с 20 полями? это двадцать арг...

Уж лучше так чем эти 20 объектов в строку сериализовать

Yuri Pisarev
Уж лучше так чем эти 20 объектов в строку сериализ...

я до сих пор не понимаю, нахер гугл отказался от передачи Parcelable, они в своих рекомендациях предлагают id передавать и всё, как я понял...

Yuri-Pisarev Автор вопроса
𝙈𝙖𝙠𝙨𝙤𝙣𝙞𝙘 🇷🇺 👨🏻‍💻
я до сих пор не понимаю, нахер гугл отказался от п...

Кажется это было создано из соображений когда передаваемый контент влияет на граф навигации. Скажем, юзер кликает по разным товаром и у нас каждый раз должен создаваться один и тот же экран но с разными параметрами. В этом случае сериализованный параметр в строку делает id'шник экрана уникальным в графе навигации. Но есть другой случай. Когда у нас может быть лишь один инстанс экрана и в сериализации параметров просто нет нужды. Вот тут наинаются вопросы лично у меня

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

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

День добрый, подскажите пожалуйста, есть ли какой-то способ сказать ребару не компилировать определённое приложение? Всю доку их перечиатл ничего подобного не нашёл
Кирилл
14
Это может быть все-таки не флудвейт? у меня ботфазер принимает изменения и отображает даже что они изменились, на видео видно что он прислал якобы уже измененное описание, н...
OVERLINK
13
Вопрос на перед, на следующую пятницу. Сколько строк кода можно вешать на одного программиста, понятно что если проект хорошо написан то можно и миллион. Но есть же где то пре...
AlekseyK Kluchnikov
31
Немного оффтопа: а кто на чем сидит для осдева в плане ide/редактора? Последнее время сидел на vscode, но я его прям не могу нормально воспринимать, перешел на сlion, но меня...
Evg Resh
29
Что за японодичь? Мне хоть m68k, хоть 8080, 8088, на любом можно что-то создать
Егор
5
и да, кто сказал что у эпла именно такой isa?
Boris Vinogradov
5
Вот объясните, как это работает: Вот есть допустим unix-подобная система, и программа запускает допустим printf или fork, как это передается ядру, и как оно обрабатывать начин...
Егор
14
всем привет помогите пожалуйста используя CDN (GCP) у игроков из вьетнама загружается конфиг (размер 999 bytes) загружается 5 и более минут н а других CDN сервисах такой пробл...
Andrew Krw.
1
ну так тогда какой эплы юзают набор инструкций, и тогда считаються ли они армами вообще?
Shvabrikk Nya
4
Добрый день. Мне посоветовали обратиться к вам в чат за помощью. Ситуация описана на скрине. Как мне сказали, мне на бота навесили флудвейт. Есть ли возможность снять его ра...
OVERLINK
7
Карта сайта