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

Метод addObserver

Метод addObserver класса Lifecycle регистрирует LifecycleObserver или DefaultLifecycleObserver. Наблюдатель получит текущее событие и все следующие, пока его не снимут методом removeObserver.

Синтаксис

lifecycle.addObserver(observer)

Параметры

Параметр Описание
observer Объект наблюдателя. Может быть LifecycleEventObserver или DefaultLifecycleObserver.

Пример

Давайте повесим LifecycleEventObserver:

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.Lifecycle import androidx.lifecycle.LifecycleEventObserver 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 { LifecycleEventObserver { _, event -> if (event == Lifecycle.Event.ON_START) { text = "12345" } } } DisposableEffect(owner) { owner.lifecycle.addObserver(observer) onDispose { owner.lifecycle.removeObserver(observer) } } Text(text = text) } } }

На экране после ON_START текст сменится на "12345".

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

← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить