Size: a a a

Android Developers

2021 November 28

DA

David Aivazov in Android Developers
исправил, спасибо
источник

L

Leonid in Android Developers
А то! В жизни всё не так, как на самом деле 😀
Пользуйтесь в первую очередь гугловскими мануалами.
Пожалуйста.
источник

A

Alexandr in Android Developers
ну да, ну да. На первой работе мне сказали "забудь всему, чему тебя учили в институте". так, по ходу, во всех сферах)))
источник

С

Семён in Android Developers
Всем привет. Изучаю даггер/хилт. Помогите разобраться, хочу инджектнуть зависимость, но она не инджектится почему-то.
Прописываю ее в модуле, прокидываю инджект в нужный мне класс и мне пишет что проперти не инициализирована. Что я не так делаю?
источник

ES

Egor Sigolaev in Android Developers
сверху класса куда инжектишь висит анотация @AndroidEntryPoint?
источник

A

Aleksandr in Android Developers
Всем привет. Разбираюсь как совместить даггер/хилт и датабаиндинг во viewModel Помогите разобраться:  для хиллт требуется наследование myViewModel от viewModel, а для databinding от baseObservable. Как быть?
источник

С

Семён in Android Developers
нет. а она должна висеть на каждом классе, в который инжекчу?
источник

ES

Egor Sigolaev in Android Developers
Да. Читаем доку.
источник

С

Семён in Android Developers
ок, спасибо
источник

L

Leonid in Android Developers
И еще - никогда не делайте у фрагментов свои кострукторы с параметрами. Исключение: если такой конструктор будет вызываться из фабрики фрагментов.

Причина: фрагмент может быть пересоздан системой, и она вызовет конструктор без параметров по умолчанию. Все ваши параметры окажутся неинициализированы. Вся логика пойдет лесом и встретит там NPE.
источник

A

Alexandr in Android Developers
А как тогда назначить layout ? Хардкодить в фрагменте?

И еще, передавать данные с фрагмента в активити через листенер это нормальная практика?
источник

L

Leonid in Android Developers
https://developer.android.com/reference/androidx/fragment/app/Fragment#Fragment(int)

Смотря как и когда передавать листенер. Иначе будет то же самое, что и с параметрами в конструкторе.

Вообще обмен данными с фрагментами по уставу делается так:
https://developer.android.com/guide/fragments/communicate
источник

Д

Дима in Android Developers
Хочу в приложении несколько ресайклеров которые получают данные через api. Запросы разумеется разные для каждого списка. Должен ли я делать для каждого ресайклера свой RemoteMediator или можно как-то обойтись одним?
источник

A

Alexandr in Android Developers
А, ну опять же, через ViewModel. А я учился по туториалам 2017 года, потому и отстал от жизни. Ок, буду догонять технологии))
источник

L

Leonid in Android Developers
Еще можно передавать Bundle через setArguments.
источник

A

Alexandr in Android Developers
Мне казалось через слушатель проще всего, и можно любой тип данных в любом количестве передать, да ещё и сразу в нужный метод родительской активности
источник

ЯН

Ярослав Нестеров... in Android Developers
аргументы фрагмента норм тема, ибо это пока единственный нативный (или уже нет?) способ заперсистить входные данные и получить их снова после восстановления стека фрагментов, которое сломает тебе всё, если это не предусмотреть
источник

L

Leonid in Android Developers
Тоже можно, но смотря как вы этот слушатель будете получать во фрагменте.

f = MyFragment()
f.myListener = ...

Та же фигня, что и параметры в конструкторе.
источник

ЯН

Ярослав Нестеров... in Android Developers
а после восстановления фрагментов myListener будет null...
источник

A

Alexandr in Android Developers
Создать фрагмент, setListener(this), и запустить
источник