Метод handleOnBackPressed
Метод handleOnBackPressed класса
OnBackPressedCallback
перехватывает событие назад,
пока isEnabled равен true.
Если метод ничего не делает для закрытия,
назад считается обработанным и стандартный
выход не выполняется.
Чтобы закрыть экран, вызывают
finish
или отключают callback и снова делегируют системе.
Синтаксис
override fun handleOnBackPressed() {
finish()
}
Пример
Давайте переопределим handleOnBackPressed:
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", жест назад
вызовет handleOnBackPressed и закроет activity.
Смотрите также
-
класс
OnBackPressedCallback,
в котором переопределяют метод -
метод
addCallback,
который регистрирует callback -
метод
finish,
который вызывают для выхода -
класс
OnBackPressedDispatcher,
который доставляет событие назад