Eigenschaft muss initialisiert oder abstrakt sein

Es muss eine dumme Frage sein, aber ich bin wirklich neu in Kotlin und ich habe keine Lösung gefunden.

Wie erkläre ich das Klassenfeld? Wie wir es in Java haben können:

  • Installieren von Android App ohne SD-Karte
  • Wie kann ich mit Android EffectFactory Class arbeiten?
  • Wie schaue ich mir an
  • Resources.getSystem () vs getResources ()
  • Holen Sie den Integer-Wert aus der Datenträgerdatei von dimens.xml in Android
  • Wie man benutzerdefinierte Bild auf Checkbox in Android
  • protected SharedPreferences mSharedPreferences; 

    Und später in onCreate() :

     mSharedPreferences = PreferenceManager.getDefaultSharedPreferences(this) 

    Jetzt kann ich es überall verwenden, wo ich will (in Unterklassen dieser Basisaktivität).

    Ich versuche das selbe in Kotlin zu machen:

     protected var sharedPreferences : SharedPreferences 

    Und in onCreate() :

     sharedPreferences = PreferenceManager.getDefaultSharedPreferences(this) 

    Aber ich bekomme eine Warnung: "Eigentum muss initialisiert oder abstrakt sein"

  • Der richtige Ansatz für Android Unit Testing
  • Wie zu beheben: android.app.RemoteServiceException: Schlechte Benachrichtigung aus Paket *: konnte nicht erstellen Icon: StatusBarIcon
  • Android-Authentifizierung mit Kerberos
  • Warum zeigt Jelly Bean die zweite Zeile in einer Benachrichtigung?
  • Wie kann man Berührung außerhalb der Ansicht in Android?
  • Hinzufügen von zusätzlichen Bildern / Icons zu CardFragment (Android Wear)
  • One Solution collect form web for “Eigenschaft muss initialisiert oder abstrakt sein”

    Wenn Sie eine Eigenschaft außerhalb des Konstruktors initialisieren möchten , dann sind spät initialisierte Eigenschaften, was Sie suchen können. Deklariere die Eigenschaft mit dem lateinit Modifikator, der es erlaubt, den ansonsten benötigten Initialisierer zu überspringen und den Eigentumszugriff mit Ausnahme lateinit , bis ihm ein aussagekräftiger Wert zugewiesen ist:

     protected lateinit var sharedPreferences: SharedPreferences 
    Das Android ist ein Google Android Fan-Website, Alles ├╝ber Android Phones, Android Wear, Android Dev und Android Spiele Apps und so weiter.