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

Класс OnBackPressedCallback

Класс OnBackPressedCallback из AndroidX Activity принимает флаг enabled в конструкторе. Его регистрируют через addCallback у OnBackPressedDispatcher. Переопределяют handleOnBackPressed и при необходимости включают или отключают себя свойством isEnabled.

Синтаксис

object : OnBackPressedCallback(true) { override fun handleOnBackPressed() { } }

Методы

Метод Описание
handleOnBackPressed Вызывается при нажатии назад, если callback включён.

Пример

Давайте создадим callback, который закрывает экран:

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) val callback = object : OnBackPressedCallback(true) { override fun handleOnBackPressed() { finish() } } onBackPressedDispatcher.addCallback(this, callback) setContent { Text(text = "abcde") } } }

На экране текст "abcde", назад обработает callback и завершит activity.

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

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