shared preferenceを使う際に引数で使われるContextをsingletonにして使い回すようにしました
SingletonContext.kt
import android.app.Application
import android.content.Context
/**
* contextをどこからでも呼べるようにしたクラス
*/
class SingletonContext : Application() {
// 他にやることないなら消してもいい
override fun onCreate() {
super.onCreate()
}
init {
instance = this
}
companion object {
private var instance: SingletonContext? = null
fun applicationContext() : Context {
return instance!!.applicationContext
}
}
}
それに加えて、AndroidManifest.xmlのapplication以下に追加します。
AndroidManifest.xml
+ android:name=".SingletonContext"
これがわからなくて、ずっとNULL参照でハマってた