Andrew
точно путаешь
Хорошо, давайте рассмотрим такой кейс - краши из-за не восстановленных аргументов ушли, после того как мы отказались от использования передачи аргументов через Bundle. Возможно, что на некоторых девайсах они не восстанавливаются из за системы. Но какая для меня разница? Я по умолчанию считаю, что бандл может быть пустым. И поэтому обучаю фрагменты просить инфу. Всё работает.
Konstantin
Хорошо, давайте рассмотрим такой кейс - краши из-за не восстановленных аргументов ушли, после того как мы отказались от использования передачи аргументов через Bundle. Возможно, что на некоторых девайсах они не восстанавливаются из за системы. Но какая для меня разница? Я по умолчанию считаю, что бандл может быть пустым. И поэтому обучаю фрагменты просить инфу. Всё работает.
переиспользование фрагментов наверно шикарнейшее т.е. активитя должна знать контекст (не андроидный контекст, а в более общем смысле) в котором у тебя подцепился фрагмент и правильно отдать ему данные -- значит есть стейт машина которая следит за стеком фрагментов и делает анализ каждый раз когда цепляется фрагмент, чтобы узнать кто его вызвал например и какие ему надо дать данные. чет выглядит как неправильный дизайн
Leonid
подскажите пожалуйста, а может фрагмент в реальном времени как то выводить информацию ?
Andrew
Откуда фрагменту просить инфу? Из стейта активити, который тоже хранится в бандле? Креши — с какими трейсами? Выглядит как попытка спрятать баг, а не починить.
1. Активити аттачит коллбек. Фрагмент общается с коллбеком. 2. Нет, про активити фрагмент не знает. 3. Трейсы были именно о том, что данных в бандле нет. 4. Это был нечастый и загадочный краш. Мы приняли решение отказаться от передачи аргументов через getInstance - Bundle, тем более это и так не рекомендуется. Вы, конечно, имеете право делать как считаете нужным 😉
Mike
скорее всего там всё проще - там нет переиспользования фрагментов
как и нет переиспользования кода в 99% приложений :)
Andrew
кем не рекомендуется?
А кем рекомендуется?
Mike
А кем рекомендуется?
да всеми, кто фрагменты использует)
Mike
рили, изобретая свои аргументы, много чего всрать можно
Andrew
да всеми, кто фрагменты использует)
Ок, а что у Гугла на эту тему?
Mike
Ок, а что у Гугла на эту тему?
не знаю, меня не интересует мнение главных говнокодеров
Konstantin
Ок, а что у Гугла на эту тему?
арх компоненты у них на эту тему
Andrew
арх компоненты у них на эту тему
И что говорят арх компоненты о данных во фрагменте?
Mike
арх компоненты у них на эту тему
и как в них передать данные?
Mike
Да никак. Используешь вьюмодель — можешь вешаться.
Konstantin
вьюмодели же
Mike
вьюмодели же
а данные для лохов!!!11
Konstantin
а данные для лохов!!!11
а данные в обычной модели
Mike
а данные в обычной модели
и октуда они попадут во вьюмодель, как сохранятся?
Konstantin
я думаю их приложение телепатически посылает волнами прямо в инстанс фрагмента
Max
да, именно так
А если целый лист из Parcelable объектов, его в бандл не засунуть, лист тоже делать Parcelable? 😄😄
Konstantin
или все таки они не решают эту проблему? )
Vadim
Кто может подсказать почему у меня не вызывается destroyItem в адаптере, учитывая что я просто удалил метод getItemPosition
ребята есть мысли? причём что метод вовращал просто POSITION_NONE override fun getItemPosition(item: Any) = POSITION_NONE
Andrew
Не понял п.2 Это как фрагмент не знает в каком он активити. Ну пусть узнает. Это как свою фамилию не знать
А зачем? Есть интерфейс, там описаны все методы, которые нужны. Какая разница кто его реализует.
Konstantin
и октуда они попадут во вьюмодель, как сохранятся?
да действительно с аргументами только 😁
Сергей
А метод getActivity сделали платнвм по 100 баксов за вызов?
Сергей
Хотя может это ему и не следует знать и использовать интерфейсы, это да
Mike
А метод getActivity сделали платнвм по 100 баксов за вызов?
уточню: фрагмент не знает тип активити
Сергей
Ну.... activity в 2019 году следует быть single
Mike
да и фрагмент может быть библиотечным
Andrew
так и есть. В нашем случае это SDK.
Konstantin
я как будто везде вижу этих старых пердунов которые пишут в 100500 activities и на java )
Mike
я как будто везде вижу этих старых пердунов которые пишут в 100500 activities и на java )
конечно, мир же чёрно-белый и состоит из одних крайностей
Сергей
А, тогда да. И джава рулит (пока еще)
Andrew
я как будто везде вижу этих старых пердунов которые пишут в 100500 activities и на java )
Как будто это очень важно - иметь одну активити и писать на котлине.
Konstantin
сингл активити кстати не подразумевает 1 активити на весь апп, может быть несколько точек входа, типа активити для диплинков например
Сергей
Желательно
Konstantin
чтобы стек не поднимать фрагментов
Hovhannes
У меня три штуки
Сергей
Да, логин часто в отдельной
Hovhannes
Логин,, Мейн и диплинк
Andrew
Логин,, Мейн и диплинк
Всё, ты старый пердун, по некоторым мнениям, хотя я не понял, как связаны эти два факта 😂
Сергей
Но в логине и фрагменты нах
Дмитрий
Спасибо) реализовал, только путем испытаний. Если ваш вариант реализуется в одном методе, можете, пожалуйста привести пример? Я не со всем понял
Andrew
Но в логине и фрагменты нах
Почему? А логин экран содержит одно поле?
Леонід
привет, может кто помочь? как передать из активити в фоновый сервис параметр (параметр - объект)
Сергей
Часто да. Логин пароль и кнопки логина, восст.пароля и еще может пару. Нах больше?
Andrew
Часто да. Логин пароль и кнопки логина, восст.пароля и еще может пару. Нах больше?
А скан qr кода для авторизации это отдельная активити или таки логин?
Andrew
Тут да, надо что то отдельное
А фрагмент камеры для чтения qr кода надо закопипастить для работы в других частях аппки или всё таки сделать универсальным + коллбек?
Mike
Х.з. надо кейс смотреть.
кейс с деньгами?
Mike
чемодан то бишь?
Сергей
QR как в известном анекдоте "пока это не стало обязательным"
Andrew
кейс с деньгами?
"Реализовать можно, но предложенная сумма мне не нравится" 😂
Сергей
кейс с деньгами?
Если его дают - надо сначала бежать. А потом смотреть без спешки.
Andrew
QR как в известном анекдоте "пока это не стало обязательным"
Я привёл частный случай. И в этом частном случае, фрагмент с камерой в момент начала работы, просто спросит у вызывающего - через коллбек - как именно ему нужно работать. А не будет рыться в бандлах.
Andrew
И туда же вернёт результат.
Andrew
у него фрагменты сломались
У меня как раз всё хорошо)
Mike
У меня как раз всё хорошо)
настолько хорошо, что ты скоро напишешь свои фрагменты
--------
Я не прячусь от пересоздания. При чём тут?
изначально речь шла о том, что у тебя терялись данные из аргументов. Как ты по колбеку определяешь что нужно делать?
Сергей
...но вообще самописная камера с дешифровкой QR это "ну, такое"