Ce doit être une question stupide, mais je suis vraiment nouveau à Kotlin et je n'ai trouvé aucune solution.
Comment déclarer le champ de classe? Comme on peut l'avoir en java:
protected SharedPreferences mSharedPreferences;
Et plus tard dans onCreate()
:
mSharedPreferences = PreferenceManager.getDefaultSharedPreferences(this)
Maintenant, je peux l'utiliser où je veux (dans les sous-classes de cette activité de base).
J'essaye de faire de même à Kotlin:
protected var sharedPreferences : SharedPreferences
Et dans onCreate()
:
sharedPreferences = PreferenceManager.getDefaultSharedPreferences(this)
Mais j'obtiens un avertissement: "La propriété doit être initialisée ou être abstraite"
Tirer cela des commentaires de la réponse d'Alexandre Udalov pour la visibilité. Pour les propriétés Nullable:
protected var sharedPreferences : SharedPreferences? = null
... et attribuez-lui une valeur plus tard.
la source