我正在尝试保存用户对语言的偏好,因此我有一个带语言设置器和getter的首选项类,以及一个单独的语言活动,用户实际上选择了他们想要的语言。
从这个语言活动中,我想使用setter在首选项类中设置用户选择的语言首选项。这是首选项类:
class Preferences (context: Context) {
val PREFS_FILENAME = "artour.prefs"
val LANGUAGE = "language"
val prefs: SharedPreferences = context.getSharedPreferences(PREFS_FILENAME, Context.MODE_PRIVATE);
fun getLang() : String {
return prefs.getString(LANGUAGE, "english")
}
public fun setLang(lang:String) {
val editor = prefs.edit()
editor.putString(LANGUAGE, lang)
editor.apply()
}
}
我如何从语言活动中运行setLang方法?
答案 0 :(得分:1)
如果我在这个问题中遗漏了任何内容,我现在不知道,但这样做:
val preferences = Preferences(this)
preferences.setLang("it is that easy")
在您的活动类中的任何函数中。
它的作用是创建一个对象(val preferences = Preferences()
),然后在其上调用一个方法(preferences.setLang("this is a string")
)。
确保使用实际的语言标识符而不是随机字符串。