我在Android中使用偏好设置。当我改变开关时,我放了一个 bool(boolean) 值:
val sharedPref = activity?.getPreferences(Context.MODE_PRIVATE)
switch1.setOnCheckedChangeListener{_, isChecked ->
if(isChecked){
sharedPref?.let {
with(it.edit()) {
putBoolean("sw1", true)
apply()
}
}
}else{
sharedPref?.let {
with(it.edit()) {
putBoolean("sw1", false)
apply()
}
}
}
}
我明白了:
val sw1 = sharedPref?.getBoolean("sw1", false)
sw1?.let {
switch1.isChecked = sw1
}
但是我收到一个错误:
最佳答案
如果使用putInt()存储共享首选项中的数据,并且使用getBoolean()检索相同键的数据,则将发生ClassCastException。
有两种解决方法。