android - MutableStateOf 与 sharedPreferences 一起使用
问题描述
我想将 sharedPreferences 值设置为 MutableStateOf,但它报告
类型 'MutableState<TypeVariable(T)>' 没有方法 'getValue(MainViewModel, KProperty<*>)' 因此它不能用作委托
似乎 MutableStateOf 不能与 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, "")!!
}
解决方案
android studio 提示我可以导入以下两个包以消除此错误。
import androidx.compose.runtime.getValue
import androidx.compose.runtime.setValue
推荐阅读
- openrefine - 如何在Openrefine中获取数组中最长的字符串
- javascript - 如何在表格中逐行读取下拉列表中的值
- c++ - 如何提高文件读取性能?
- java - 旋转图像视图
- java - 在 Spring 小应用程序中发现 noHandler ?不知道为什么
- javascript - jVectorMap 在 onRegionClick 上双重执行
- javascript - 删除数组中的前缀 y 以将其用于图形的 ax 轴
- php - 更新到最新版本后已定义 Joomla 常量 _QQ_
- android - 在 LinearLayout 中将 TableLayout 居中
- java - Springboot组合安全(Oauth和form)配置