Saya mengubah beberapa kode Java saya ke Kotlin dan saya tidak begitu mengerti bagaimana cara membuat antarmuka yang didefinisikan dalam kode Kotlin. Sebagai contoh, saya memiliki antarmuka (didefinisikan dalam kode Java):
public interface MyInterface {
void onLocationMeasured(Location location);
}
Dan kemudian lebih lanjut dalam kode Kotlin saya, saya instantiate antarmuka ini:
val myObj = new MyInterface { Log.d("...", "...") }
dan itu bekerja dengan baik. Namun, ketika saya mengonversi MyInterface ke Kotlin:
interface MyInterface {
fun onLocationMeasured(location: Location)
}
Saya mendapatkan pesan kesalahan: Interface MyListener does not have constructors
ketika saya mencoba untuk instantiate - meskipun menurut saya tidak ada yang berubah kecuali sintaksis. Apakah saya salah mengerti bagaimana antarmuka bekerja di Kotlin?
Location -> Unit
) daripada antarmuka metode tunggal jika mungkin - apakah itu benar?