簡體   English   中英

如何在 Kotlin 中使用 OnSharedPreferenceChangeListener?

[英]How to use OnSharedPreferenceChangeListener in Kotlin?

我有一個具有可變編號的活動和一個從活動中獲取編號的(InputMethodService)服務類。

我想要的是,當我在活動中更改變量數時,這會反映在服務類上。

所以我寫了這樣的代碼,但它不起作用。 是否有錯誤或錯誤的代碼?

class Activity : AppCompatActivity() {
    override fun onCreate() {
        var customNumber: Int = 100

        val myPreference = getSharedPreference("number", Context.MODE_PRIVATE)
        myPreference.edit().putInt("changeNumber", customNumber).apply()
    }
}

在服務中(從活動中獲取號碼)

class myService : InputMethodService(), SharedPreferences.OnSharedPreferenceChangeListener {

    var changedNumber: Int = 0

    override fun onSharedPreferenceChanged(sharedPreferences: SharedPreferences?, key: String?) {
    changedNumber = sharedPrefrences!!.getInt("changeNumber", 0)
    }
}

看起來您忘記注冊/取消注冊偵聽器:

https://stackoverflow.com/a/3799894/7434090

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM