Je convertis une partie de mon code Java en Kotlin et je ne comprends pas très bien comment instancier les interfaces définies dans le code Kotlin. A titre d'exemple, j'ai une interface (définie en code Java):
public interface MyInterface {
void onLocationMeasured(Location location);
}
Et puis plus loin dans mon code Kotlin, j'instancie cette interface:
val myObj = new MyInterface { Log.d("...", "...") }
et cela fonctionne très bien. Cependant, lorsque je convertis MyInterface en Kotlin:
interface MyInterface {
fun onLocationMeasured(location: Location)
}
J'obtiens un message d'erreur: Interface MyListener does not have constructors
lorsque j'essaye de l'instancier - bien qu'il me semble que rien n'a changé sauf la syntaxe. Est-ce que je comprends mal comment les interfaces fonctionnent dans Kotlin?
Location -> Unit
) au lieu d'interfaces à méthode unique si possible - est-ce exact?