Метод startActivity
Метод startActivity класса
Context
передаёт управление другому экрану.
Нужен Intent
с компонентом или действием.
Activity вызывает startActivity
на себе как на context.
Результат с другого экрана получают через
registerForActivityResult,
а не через устаревшие колбэки.
Синтаксис
startActivity(intent)
Параметры
| Параметр | Описание |
|---|---|
intent |
Описание целевой activity или действия.
Тип - Intent.
|
options |
Необязательный Bundle анимаций
и параметров запуска.
|
Пример
Давайте откроем SecondActivity по явному intent:
import android.content.Intent
import android.os.Bundle
import androidx.activity.ComponentActivity
import androidx.activity.compose.setContent
import androidx.compose.material3.Button
import androidx.compose.material3.Text
class MainActivity : ComponentActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContent {
Button(onClick = {
val intent = Intent(this@MainActivity, SecondActivity::class.java)
startActivity(intent)
}) {
Text("abcde")
}
}
}
}
На экране кнопка "abcde", нажатие открывает
SecondActivity поверх или вместо текущего стека.
Смотрите также
-
класс
Intent,
который описывает цель startActivity -
метод
registerForActivityResult,
который ждёт результат с другого экрана -
метод
finish,
который закрывает экран после перехода -
класс
Activity,
которую запускают через startActivity