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

Метод get

Метод get класса SavedStateHandle возвращает сохранённое значение или null, если ключа нет. Тип задают generic-параметром, например get<String>.

Синтаксис

val text = handle.get<String>("label")

Параметры

Параметр Описание
key Строковый ключ в хранилище.

Пример

Давайте покажем значение из handle или запасной текст:

import android.os.Bundle import androidx.activity.ComponentActivity import androidx.activity.compose.setContent import androidx.compose.material3.Text import androidx.compose.runtime.collectAsState import androidx.compose.runtime.getValue import androidx.lifecycle.SavedStateHandle import androidx.lifecycle.ViewModel import androidx.lifecycle.viewmodel.compose.viewModel import kotlinx.coroutines.flow.MutableStateFlow import kotlinx.coroutines.flow.asStateFlow class MainActivity : ComponentActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContent { val model: ReadViewModel = viewModel() val text by model.text.collectAsState() Text(text = text) } } } class ReadViewModel( handle: SavedStateHandle, ) : ViewModel() { private val _text = MutableStateFlow( handle.get<String>("label") ?: "abcde", ) val text = _text.asStateFlow() }

На экране будет "abcde", если ключ label ещё пуст.

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

  • метод set,
    которым записывают значение
  • метод remove,
    которым удаляют ключ
  • класс SavedStateHandle,
    у которого объявлен get
  • функция rememberSaveable,
    которая сохраняет State в UI-слое
← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить