2014-09-03 21 views
5

Tôi đang cố triển khai ví dụ từ here trong Kotlin. Tôi nhận được lỗi này trong thời gian chạy "Gây ra bởi: java.lang.IllegalArgumentException: Định nghĩa giao diện không được mở rộng các giao diện khác". Có cách nào để điều trị các đặc điểm của Kotlin như các giao diện java khi chúng không có bất kỳ phương thức nào được triển khai hay tôi phải sử dụng các giao diện java? Dưới đây là các mã:Đặc điểm Kotlin và trang bị thêm

public trait RestAPI { 

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

Và cuộc gọi gây ra lỗi:

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

Thảo luận là trình theo dõi vấn đề của Kotlin: http://youtrack.jetbrains.com/issue/KT-5609 –

+1

@ user1202036 bạn có thể vui lòng xem lại câu trả lời dưới đây và chấp nhận câu trả lời nếu nó chính xác. Kotlin đổi tên thành 'trait' thành' giao diện' và thay đổi phần nào ngữ nghĩa. Và vấn đề được đề cập bởi @andrey ở trên đã được giải quyết. –

Trả lời

7

Vấn đề này đã được sửa. Tôi đang sử dụng Retrofit thực hiện chính xác theo cách này với Kotlin phiên bản 0.9.976.

Các vấn đề liên quan