#android #kotlin #sharedpreferences #android-jetpack-compose
#Android #kotlin #общие предпочтения #android-реактивный ранец-создать
Вопрос:
Я хочу установить для значения SharedPreferences значение MutableStateOf, но оно сообщает
Тип ‘Изменяемое состояние<переменная типа (T)>’ не имеет метода ‘GetValue(MainViewModel, KProperty<*>)’ и, следовательно, он не может служить делегатом
похоже, что изменяемый режим не может работать с SharedPreferences.
// viewModel
// ...
var item: String by mutableStateOf(appPreferences.getItemName())
private set
// ...
// sharedPreferences
private val prefs = PreferenceManager.getDefaultSharedPreferences(context)
fun getItemName(): String {
return prefs.getString(PREF_ITEM_NAME, "")!!
}
Ответ №1:
Подсказка Android Studio, которую я могу импортировать ниже двух пакетов, чтобы удалить эту ошибку.
import androidx.compose.runtime.getValue
import androidx.compose.runtime.setValue