Создаем портфолио за 1 месяц
К концу месяца: 4 классных проекта в вашем портфолио! Стоимость: 100$. Подробности...
341 of 502 menu
◀ ▶

Класс DefaultLifecycleObserver

Интерфейс DefaultLifecycleObserver описывает колбэки для событий Lifecycle. Каждый метод получает LifecycleOwner. Переопределяют только нужные этапы, остальные остаются пустыми по умолчанию. Observer вешают через addObserver.

Синтаксис

class MyObserver : DefaultLifecycleObserver { override fun onResume(owner: LifecycleOwner) { } }

Методы

Метод Описание
onCreate Срабатывает после ON_CREATE у owner.
onStart Срабатывает после ON_START.
onResume Срабатывает после ON_RESUME.
onPause Срабатывает после ON_PAUSE.
onStop Срабатывает после ON_STOP.
onDestroy Срабатывает после ON_DESTROY.

Пример

Давайте сменим текст в onResume:

import android.os.Bundle import androidx.activity.ComponentActivity import androidx.activity.compose.setContent import androidx.compose.material3.Text import androidx.compose.runtime.DisposableEffect import androidx.compose.runtime.getValue import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember import androidx.compose.runtime.setValue import androidx.lifecycle.DefaultLifecycleObserver import androidx.lifecycle.LifecycleOwner import androidx.lifecycle.compose.LocalLifecycleOwner class MainActivity : ComponentActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContent { val owner = LocalLifecycleOwner.current var text by remember { mutableStateOf("abcde") } val observer = remember { object : DefaultLifecycleObserver { override fun onResume(owner: LifecycleOwner) { text = "12345" } } } DisposableEffect(owner) { owner.lifecycle.addObserver(observer) onDispose { owner.lifecycle.removeObserver(observer) } } Text(text = text) } } }

На экране после onResume текст станет "12345".

Смотрите также

  • класс Lifecycle,
    на который подписывают observer
  • метод addObserver,
    которым регистрируют DefaultLifecycleObserver
  • перечисление State,
    которым описывают этапы цикла
  • функция repeatOnLifecycle,
    которая запускает блок по State
← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить