【问题标题】:How to run a function from one class in another class in Android Studio [Kotlin]?如何在 Android Studio [Kotlin] 中从另一个类中的一个类运行函数?
【发布时间】:2018-04-04 22:26:42
【问题描述】:

我正在尝试保存用户对语言的偏好,因此我有一个带有语言设置器和获取器的偏好类,以及一个单独的语言活动,用户可以在其中实际选择他们想要的语言。

从这个语言活动中,我想使用设置器在首选项类中设置用户选择的语言首选项。这是首选项类:

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 方法?

【问题讨论】:

标签: android kotlin


【解决方案1】:

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

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

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

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

【讨论】:

  • 非常感谢,事实证明我对它的语法有点不满意,我对 kotlin 非常陌生。当我输入第一行时,它说我必须为 Parameter() 传递一个上下文参数。你知道我会为“上下文”传递什么吗?再次感谢
  • A Context 查看间接子类 -> 你的 Activity -> 在 Actiity-class 中它只是 this
猜你喜欢
  • 2019-03-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-08-27
  • 2016-01-09
  • 2022-11-19
  • 1970-01-01
  • 2015-11-08
相关资源
最近更新 更多