Itu pasti pertanyaan yang bodoh, tapi saya benar-benar baru mengenal Kotlin dan saya tidak menemukan solusi apa pun.
Bagaimana cara mendeklarasikan bidang kelas? Seperti kita bisa memilikinya di java:
protected SharedPreferences mSharedPreferences;
Dan nanti di onCreate()
:
mSharedPreferences = PreferenceManager.getDefaultSharedPreferences(this)
Sekarang saya bisa menggunakannya di mana pun saya mau (dalam subclass aktivitas dasar ini).
Saya mencoba melakukan hal yang sama di Kotlin:
protected var sharedPreferences : SharedPreferences
Dan masuk onCreate()
:
sharedPreferences = PreferenceManager.getDefaultSharedPreferences(this)
Tapi saya mendapat peringatan: "Properti harus diinisialisasi atau abstrak"
Menarik ini dari komentar jawaban Alexander Udalov untuk visibilitas. Untuk properti nullable:
protected var sharedPreferences : SharedPreferences? = null
... dan berikan nilainya nanti.
sumber