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

标签 android kotlin

我正在尝试保存用户的语言首选项,因此我有一个带有语言 setter 和 getter 的首选项类,以及一个单独的语言 Activity ,用户可以在其中实际选择他们想要的语言。

从这个语言 Activity 中,我想使用 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()
    }
}

我将如何从语言 Activity 中运行 setLang 方法?

最佳答案

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

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

在您的 Activity 类中的任何函数中。

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

关于android - 如何在 Android Studio [Kotlin] 中运行一个类中另一个类的函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49661382/

相关文章:

java - 在 Android 应用程序中灵活启用/禁用日志记录

android - 通过在android中放置一个中心以圆形方式放置imageviews

android - 使用 Kotlin 在 fragment 中创建 AlertDialog

Android Studio - Kotlin 项目的 "Unsolved reference"问题

android - 如何在 appwidgetprovider 中找到 View ID?

android - 如果项目包含子包,如何在 Manifest 中声明 GCMIntentService 的名称?

android - Web View 内容在 Android 中闪烁?

android - 如何从首选项屏幕设置按钮位置?

java - 使用逐帧动画制作transitionX动画会导致滞后

android - Kotlin 泛型边界