Ich konvertiere einen Teil meines Java-Codes in Kotlin und verstehe nicht ganz, wie man im Kotlin-Code definierte Schnittstellen instanziiert. Als Beispiel habe ich eine Schnittstelle (definiert in Java-Code):
public interface MyInterface {
void onLocationMeasured(Location location);
}
Und weiter in meinem Kotlin-Code instanziiere ich diese Schnittstelle:
val myObj = new MyInterface { Log.d("...", "...") }
und es funktioniert gut. Wenn ich jedoch MyInterface in Kotlin konvertiere:
interface MyInterface {
fun onLocationMeasured(location: Location)
}
Ich erhalte eine Fehlermeldung: Interface MyListener does not have constructorsWenn ich versuche, sie zu instanziieren - obwohl mir scheint, dass sich außer der Syntax nichts geändert hat. Verstehe ich falsch, wie Schnittstellen in Kotlin funktionieren?
Location -> Unit) anstelle von Schnittstellen mit nur einer Methode zu verwenden, wenn dies möglich ist - ist das richtig?