Особенности при подписке на LiveData во Fragment
Метод observe() класса LiveData принимает в качестве аргумента объект класса LifecycleOwner. Данный объект будет указывать, кто является владельцем данного Lifecycle, это необходимо чтобы колбек LifeData.observe() не триггерился когда LifecycleOwner еще не в активном состоянии (либо уже был вызван onDestory(), либо еще не был вызван onCreate() например).
Во фрагментах лучшим решением будет передавать viewLifecycleOwner, если при изменении данных в LifeData необходимо будет изменять UI. Таким образом вы будете уверены, что обновление данных на экране будет происходить когда View уже создан.
Если же UI обновлять не надо, а надо просто сохранить какую-либо информацию (например когда используется общая ViewModel для нескольких фрагментов и ViewModel нужна просто как средство коммуникации между фрагментами), то в таком случае можно использовать this, так как фрагменты реализуют интерфейс LifecycleOwner
Peer-to-peer собеседования
Обучающая платформа AndroidSprint
Практика собеседований с менторами и другими студентами. Реальные вопросы по Kotlin, Android и Backend
- Живые собеседования: практикуйте интервью с менторами и коллегами-студентами
- Реальные вопросы: база вопросов по Kotlin, Android, Backend и QA
- Фидбек: обратная связь после каждого собеседования — знаете, что улучшить