安卓工作室 3.4
这是我的科特林课程:
open class DefaultRestClientCallback<T> : Callback<T> {
val Response<*>.errorResponse: ErrorResponse
get() = ErrorUtils.parseError(this)
override fun onResponse(call: Call<T>, response: Response<T>) {
正如你在这里看到的,我有属性扩展:
errorResponse
在另一个 Kotlin 类 (Test.kt) 中,我这样称呼它:
class Test {
fun test() {
TransportService.login("email",
"pass", object : DefaultRestClientCallback<JsonElement>() {
override fun onTangoResponse(response: Response<*>) {
val isSuccessful = response.isSuccessful
if (isSuccessful) { // code >= 200 && code < 300;
} else {
val errorResponse = response.errorResponse
}
}
})
}
}
很好,它工作正常。
现在我需要从 java 文件调用扩展属性(我现在无法将其转换为 Kotlin)。我试试这个:
TransportService.login("email", "pass", new DefaultRestClientCallback<JsonElement>() {
@Override
public void onTangoResponse(@NotNull Response<?> response) {
boolean isSuccessful = response.isSuccessful();
if (isSuccessful) { // code >= 200 && code < 300;
} else {
ErrorResponse errorResponse = response.errorResponse();
}
}
});
}
但是我在这一行中遇到编译错误:
ErrorResponse errorResponse = response.errorResponse();
错误:
Cannot resolve method 'errorResponse()'
浮云间
一只斗牛犬
相关分类