Должно быть, это глупый вопрос, но я новичок в Kotlin и не нашел решения.
Как объявить поле класса? Как и в java:
protected SharedPreferences mSharedPreferences;
А позже в onCreate()
:
mSharedPreferences = PreferenceManager.getDefaultSharedPreferences(this)
Теперь я могу использовать его где угодно (в подклассах этого базового действия).
Я пытаюсь сделать то же самое в Котлине:
protected var sharedPreferences : SharedPreferences
И в onCreate()
:
sharedPreferences = PreferenceManager.getDefaultSharedPreferences(this)
Но получаю предупреждение: «Свойство должно быть инициализировано или быть абстрактным».
Вытягивая это из комментариев из ответа Александра Удалова для наглядности. Для свойств, допускающих значение NULL:
protected var sharedPreferences : SharedPreferences? = null
... и присвоить ему значение позже.
источник