আমি আমার কিছু জাভা কোডটি কোটলিনে রূপান্তর করছি এবং কোটলিন কোডে সংজ্ঞায়িত ইন্টারফেসগুলি কীভাবে ইনস্ট্যান্ট করতে হবে তা আমি যথেষ্ট বুঝতে পারি না। উদাহরণ হিসাবে, আমার একটি ইন্টারফেস রয়েছে (জাভা কোডে সংজ্ঞায়িত):
public interface MyInterface {
void onLocationMeasured(Location location);
}
এবং তারপরে আমার কোটলিন কোডে আমি এই ইন্টারফেসটি ইনস্ট্যান্ট করি:
val myObj = new MyInterface { Log.d("...", "...") }
এবং এটা ঠিক কাজ করে। যাইহোক, যখন আমি মাইআইন্টারফেসকে কোটলিনে রূপান্তর করি:
interface MyInterface {
fun onLocationMeasured(location: Location)
}
আমি একটি ত্রুটি বার্তা Interface MyListener does not have constructors
পাই : যখন আমি এটি ইনস্ট্যান্ট করার চেষ্টা করি - যদিও এটি আমার কাছে মনে হয় সিনট্যাক্স ব্যতীত কিছুই পরিবর্তন হয়নি। ইন্টারফেস কীভাবে কোটলিনে কাজ করে তা আমি ভুল বুঝি?
Location -> Unit
যদি সম্ভব হয় তবে একক-পদ্ধতিগত ইন্টারফেসের পরিবর্তে ক্রিয়ামূলক ধরনের (যেমন ) ব্যবহার করা ভাল - এটি কি সঠিক?