2014-09-03 74 views
5

Örneği, Kotlin'de here'dan uygulamaya çalışıyorum. Bu hatayı "Cause by: java.lang.IllegalArgumentException: Arabirim tanımları diğer arabirimleri genişletmemelidir" çalışma zamanında aldım. Herhangi bir yöntem uygulanmadığında Kotlin özelliklerinin java arayüzleri olarak kullanılmasının bir yolu var mı, yoksa java arayüzlerini kullanmak zorunda mıyım?Kotlin'in özellikleri ve güçlendirme

public trait RestAPI { 

    [GET("/weather")] 
    fun getList([Query("q")] place: String, 
       [Query("units")] units: String) 
      : Observable<WeatherData> 
}    

Ve hataya neden çağrı:

val service = restAdapter?.create(javaClass<RestAPI>()) 
+0

Kotlin sorunu izleyicisidir: http://youtrack.jetbrains.com/issue/KT-5609 –

+1

@ user1202036 Lütfen aşağıdaki cevabı gözden geçirebilir ve doğruysa kabul edebilirsiniz. Kotlin '' trait' '' interface' olarak yeniden adlandırdı ve semantiği biraz değiştirdi. Ve yukarıda @andrey tarafından belirtilen sorun çözüldü. –

cevap

7

Bu sorun giderildi İşte kod. Ben Kotlin sürüm 0.9.976 ile tam olarak bu şekilde uygulanan Retrofit kullanıyorum.

İlgili konular