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

Метод addCallback

Метод addCallback у OnBackPressedDispatcher ставит обработчик в стек. Первым срабатывает последний добавленный активный OnBackPressedCallback. LifecycleOwner отвязывает callback при уничтожении owner. Логику пишут в handleOnBackPressed.

Синтаксис

dispatcher.addCallback(owner, callback)

Параметры

Параметр Описание
owner LifecycleOwner, обычно сама activity. Управляет сроком жизни callback.
callback Объект OnBackPressedCallback с переопределённым handleOnBackPressed.

Пример

Давайте добавим callback в onCreate:

import android.os.Bundle import androidx.activity.ComponentActivity import androidx.activity.compose.setContent import androidx.activity.OnBackPressedCallback import androidx.compose.material3.Text class MainActivity : ComponentActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) onBackPressedDispatcher.addCallback( this, object : OnBackPressedCallback(true) { override fun handleOnBackPressed() { finish() } }, ) setContent { Text(text = "12345") } } }

На экране текст "12345", жест назад вызовет finish через зарегистрированный callback.

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

  • класс OnBackPressedDispatcher,
    у которого вызывают addCallback
  • метод handleOnBackPressed,
    куда пишут реакцию на назад
  • метод finish,
    который закрывает activity из callback
  • метод onCreate,
    где удобно регистрировать callback
← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить