Метод putExtra
Метод putExtra класса
Intent
кладёт пару ключ-значение в extras.
На другом экране значение читают через
getStringExtra
и похожие методы.
Intent передают в
startActivity.
Синтаксис
intent.putExtra("note", "abcde")
Параметры
| Параметр | Описание |
|---|---|
name |
Строковый ключ, по которому потом читают значение. |
value |
Данные: строка, число, логическое значение или другой поддерживаемый тип. |
Пример
Давайте передадим note при открытии SecondActivity:
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)
intent.putExtra("note", "12345")
startActivity(intent)
}) {
Text(text = "abcde")
}
}
}
}
На экране кнопка "abcde", после нажатия
SecondActivity получит extra note со строкой "12345".
Пример
Давайте положим несколько типов в один 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)
intent.putExtra("note", "abcde")
intent.putExtra("count", 2)
intent.putExtra("flag", true)
startActivity(intent)
}) {
Text(text = "12345")
}
}
}
}
На экране одна кнопка передаст три extra на следующий экран одним intent.
Смотрите также
-
метод
getStringExtra,
который читает строку по ключу -
класс
Bundle,
где хранятся extras -
метод
startActivity,
которым отправляют intent -
класс
Intent,
у которого вызывают putExtra