Deve ser uma pergunta estúpida, mas eu sou muito novo em Kotlin e não encontrei nenhuma solução.
Como declarar o campo de classe? Como podemos ter em java:
protected SharedPreferences mSharedPreferences;
E mais tarde em onCreate()
:
mSharedPreferences = PreferenceManager.getDefaultSharedPreferences(this)
Agora posso usá-lo em qualquer lugar que eu quiser (nas subclasses desta atividade de base).
Tento fazer o mesmo em Kotlin:
protected var sharedPreferences : SharedPreferences
E em onCreate()
:
sharedPreferences = PreferenceManager.getDefaultSharedPreferences(this)
Mas recebo um aviso: "A propriedade deve ser inicializada ou abstrata"
Tirando isso dos comentários da resposta de Alexander Udalov para visibilidade. Para propriedades anuláveis:
protected var sharedPreferences : SharedPreferences? = null
... e atribua a ele um valor mais tarde.
fonte