Die Kotlin Android extension documentation besagt, dass Sie im Prinzip eine Verknüpfung von findViewById()
mithilfe einer Importanweisung ausführen können. Was ist jedoch der Unterschied zwischen dem Importieren einer bestimmten Ansicht kotlinx.android.synthetic.main.<layout-file-name>.<view-id>
und dem Importieren von kotlinx.android.synthetic.main.<layout-file-name>.view.<view-id>
? Wenn Sie das erstere tun, zeigt mir die IDE drei gleiche Ansichts-IDs, jeweils eine für Aktivität, Dialog und Fragment. Wenn Sie Letzteres ausführen, wird nur einmal der Name der Ansichts-ID angezeigt.Kotlin synthetische Eigenschaft Unterschied für Android-Ansichten?
Antwort
Die IDE-Hinweise zeigen die Klassentypen an, in denen Sie die Ansichtsreferenz verwenden können: Aktivität, Fragment, Dialog oder Ansicht. Wenn Sie die import-Anweisung eingeben, zeigt die IDE die Fertigstellung für alle Typen an, für die sie verfügbar ist. Wenn Sie jedoch versuchen, es innerhalb der Klasse (ohne die import-Anweisung) zu verwenden, zeigt Ihnen die IDE den Importhinweis für den spezifischen Typ an, den Ihre Klasse erweitert.
Zum Beispiel, in einer Aktivitätsklasse, erstreckt AppCompatActivity
, Sie bekommen Import Hinweis
<view-id> from <layout-file-name> for Activity
Allerdings, wenn Ihre Klasse von View
oder Subklassen erstreckt, können Sie diese:
<view-id> from <layout-file-name> for View
In Anbetracht der Tatsache, dass es mehrere Auswahlmöglichkeiten gibt, kann die Implementierung von View-Caching für verschiedene Typen unterschiedlich sein. More on this here
- 1. Kotlin synthetische Erweiterung für Ansicht
- 2. kotlin - Wie synthetische Eigenschaften initialisieren?
- 3. Kotlin synthetische und benutzerdefinierte Layout in DialogFragment
- 4. Kotlin-Erweiterungsfunktion für veränderbare Eigenschaft
- 5. Kotlin synthetische Erweiterung und mehr umfassen gleiches Layout
- 6. Kotlin's synthetische Eigenschaften Konflikt
- 7. Wie parametrisierte Generics für Kotlin-Eigenschaft angeben?
- 8. Kotlin Inlined Extension Eigenschaft
- 9. Kotlin Abstrakt Geschützte Eigenschaft
- 10. Kotlin: Ungenutzte Eigenschaft unterdrücken?
- 11. Kotlin Generische Eigenschaft
- 12. Kotlin: Nullable-Eigenschaft Delegat beobachtbaren
- 13. Synthetische Klassen in NHibernate
- 14. Wie lateinit Kotlin Eigenschaft festlegen
- 15. synthetische Funktion "##" in scala
- 16. Private Getter und öffentliche Setter für eine Kotlin-Eigenschaft
- 17. Kann ich mit zwei XML-Layouts den gleichen Viewholder verwenden, wenn ich synthetische Kotlin-Erweiterungen verwende?
- 18. Unterschied zwischen OnclickListener Methoden in Kotlin
- 19. Kotlin Reflection - Überprüfen Sie, ob die Eigenschaft
- 20. Nicht optionale Eigenschaft mit benutzerdefinierten Setter Kotlin
- 21. Verwenden Kotlin synthetischen Eigenschaften
- 22. Reagieren Sie benutzerdefinierte synthetische Ereignis
- 23. Kotlin - Unterschied zwischen „forEachIndexed“ und „in“ Schleife
- 24. Unterschied zwischen mit und in Kotlin
- 25. Kotlin alias Eigenschaft Delegation throws Exception
- 26. Kotlin: Wie Eigenschaft in Datenklasse erben
- 27. Wie Array-Eigenschaft von Annotation in Kotlin
- 28. Kotlin: überschreiben generische Eigenschaft innerhalb Subtyp
- 29. Nach enum Klasse Eigenschaft filtern Kotlin
- 30. Kotlin-Klaxon-Bibliothek für JSON