如何在Android Studio [Kotlin]中的另一个类中的一个类中运行函数?

时间:2018-04-04 22:26:42

标签: android kotlin

我正在尝试保存用户对语言的偏好,因此我有一个带语言设置器和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方法?

1 个答案:

答案 0 :(得分:1)

如果我在这个问题中遗漏了任何内容,我现在不知道,但这样做:

val preferences = Preferences(this)
preferences.setLang("it is that easy")

在您的活动类中的任何函数中。

它的作用是创建一个对象(val preferences = Preferences()),然后在其上调用一个方法(preferences.setLang("this is a string"))。
确保使用实际的语言标识符而不是随机字符串。