Sto convertendo parte del mio codice Java in Kotlin e non capisco bene come creare un'istanza delle interfacce definite nel codice Kotlin. Ad esempio, ho un'interfaccia (definita nel codice Java):
public interface MyInterface {
void onLocationMeasured(Location location);
}
E poi ulteriormente nel mio codice Kotlin ho un'istanza di questa interfaccia:
val myObj = new MyInterface { Log.d("...", "...") }
e funziona benissimo. Tuttavia, quando converto MyInterface in Kotlin:
interface MyInterface {
fun onLocationMeasured(location: Location)
}
Viene visualizzato un messaggio di errore: Interface MyListener does not have constructors
quando provo ad istanziarlo, anche se mi sembra che nulla sia cambiato tranne la sintassi. Posso fraintendere come funzionano le interfacce in Kotlin?
Location -> Unit
) anziché interfacce a metodo singolo, se possibile - è corretto?