Verwenden Sie Kotlin Extension in android java Klasse

Ist es möglich, eine kotlin-Erweiterung in einer Android-Java-Klasse zu verwenden? Beispiel:

fun String.getSomething(): String { return "something" } 

Dann in Java benutze es wie:

  • Android - Holen Sie sich Zeit von Chronometer-Widget
  • Android Alert Dialog - wie man die OK-Taste nach dem Drücken ausblenden kann
  • AdjustPan nicht verhindern, dass die Tastatur EditText abdeckt
  • Serializing Android Bundle für Netzwerk und / oder persistente Speicherung?
  • FindViewById für MenuItem gibt null zurück
  • RxJava Observable.cache ungültig
  •  String someString = "blabla"; someString.getSomething(); 

    Ist das möglich?

  • Wie deaktivieren Sie Elemente in AlertDialog (setMultiChoiceItems)?
  • Android Volley Timeout Ausnahme bei Verwendung von RequestFuture.get ()
  • Observer.onError, der unbeständig abfeuert
  • - java.lang.NullPointerException - setText auf Nullobjektreferenz
  • Alternative zu setAlpha in api Ebene 8
  • Bedingte Ressourceneinbindung / Ausschluss für Android apk build
  • 2 Solutions collect form web for “Verwenden Sie Kotlin Extension in android java Klasse”

    Sie können kotlin und java (verwenden / call kotlin Klassen in Java-Klassen) Aber was Sie hier wollen, ist eine Kotlin-Funktion in Java – das ist nicht möglich

    Die Erweiterungsfunktionen von Kotlin werden mit JVM-Methoden kompiliert, wobei der Empfänger als erster Parameter verwendet wird. Wenn Ihre Erweiterungsfunktion auf der obersten Ebene deklariert ist, zB in einer Datei namens file.kt :

     package foo fun String.getSomething(): String { return "something" } 

    Dann können Sie in Java die statische Methode aus der entsprechenden Dateiklasse aufrufen:

     import foo.FileKt; ... String someString = "blabla"; FileKt.getSomething(someString); 
    Das Android ist ein Google Android Fan-Website, Alles ├╝ber Android Phones, Android Wear, Android Dev und Android Spiele Apps und so weiter.