Класс 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