我有一个视图,其中有一些元素(下拉菜单,chechbox ...)。
对于下拉菜单,我将所选项目的位置保存在共享首选项中。 (这样的话)
对于复选框,我想存储一个Int(如果为false,则为0,否则为1),但是如果我的复选框的状态为false(0),则下拉列表的选定值为0。
为什么?
见我的助手:
class PreferenceHelper(context: Context) {
val PREFERENCE_NAME = "SharedPreference"
val PREFERENCE_DEPARTEMENT = "0"
val PREFERENCE_ACTU = false
val PREFERENCE_INFOS_PRATIQUE = false
val PREFERENCE_ALERTES = false
val preference = context.getSharedPreferences(PREFERENCE_NAME, Context.MODE_PRIVATE)
val editor = preference.edit()
fun getPreferenceAlert() : Boolean{
return preference.getBoolean(PREFERENCE_ALERTES.toString(), false)
}
fun setPreferenceAlertes(checked : Boolean){
preference.edit().putBoolean(PREFERENCE_ALERTES.toString(), checked).apply()
}
fun getPreferenceActu() : Boolean{
return preference.getBoolean(PREFERENCE_ACTU.toString(), false)
}
fun setPreferenceActu(checked : Boolean){
preference.edit().putBoolean(PREFERENCE_ACTU.toString(), checked).apply()
}
fun getPreferenceInfo() : Boolean{
return preference.getBoolean(PREFERENCE_INFOS_PRATIQUE.toString(), false)
}
fun setPreferenceInfoPratique(checked : Boolean){
preference.edit().putBoolean(PREFERENCE_INFOS_PRATIQUE.toString(), checked).apply()
}
fun getPreferenceDepartement() : Int{
return preference.getInt(PREFERENCE_DEPARTEMENT, 0)
}
fun setPreferenceDepartement(position : Int){
preference.edit().putInt(PREFERENCE_DEPARTEMENT, position).apply()
}
}
答案 0 :(得分:0)
您正在将首选项的值转换为字符串,而不是为每个首选项提供唯一的键。