android - 类 Call 不需要类型参数

标签 android kotlin

我有一个问题。我有一个项目,然后我将粘贴复制到另一个新项目中,但我遇到了这个错误

类调用不需要类型参数

在第一个项目中我没有遇到任何问题... 这是我的接口(interface)类,我有错误

interface ApiInterface {
    @GET("data/2.5/weather?q=Prague")
    fun getWeatherData(@Query("units") units: String,
                       @Query("appid") appId: String)
            :Call<WeatherData> //here is the error

}

这是我的 WeatherData 类

data class WeatherData(
        @SerializedName("coord") val coord: Coord,
        @SerializedName("weather") val weather: List<Weather>,
        @SerializedName("base") val base: String,
        @SerializedName("main") val main: TemperatureData,
        @SerializedName("visibility") val visibility: Int,
        @SerializedName("wind") val wind: Wind,
        @SerializedName("clouds") val clouds: Clouds,
        @SerializedName("dt") val dt: Int,
        @SerializedName("sys") val sys: Sys,
        @SerializedName("id") val id: Int,
        @SerializedName("name") val name: String,
        @SerializedName("cod") val cod: Int
)

data class Sys(
        @SerializedName("type") val type: Int,
        @SerializedName("id") val id: Int,
        @SerializedName("message") val message: Double,
        @SerializedName("country") val country: String,
        @SerializedName("sunrise") val sunrise: Int,
        @SerializedName("sunset") val sunset: Int
)

data class Coord(
        @SerializedName("lon") val lon: Double,
        @SerializedName("lat") val lat: Double
)

data class TemperatureData(
        @SerializedName("temp") val temp: Double,
        @SerializedName("pressure") val pressure: Int,
        @SerializedName("humidity") val humidity: Int,
        @SerializedName("temp_min") val tempMin: Double,
        @SerializedName("temp_max") val tempMax: Double
)

data class Weather(
        @SerializedName("id") val id: Int,
        @SerializedName("main") val main: String,
        @SerializedName("description") val description: String,
        @SerializedName("icon") val icon: String
)

data class Clouds(
        @SerializedName("all") val all: Int
)

data class Wind(
        @SerializedName("speed") val speed: Double,
        @SerializedName("deg") val deg: Int

最佳答案

只需确认您从 Retrofit 导入了正确的包。

正确的是

retrofit2.Call

不要与例如混淆

android.telecom.Call

关于android - 类 Call 不需要类型参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51907280/

相关文章:

kotlin - 使用 Kotlin Arrow 库生成镜头

android - 在 Kotlin 中将 ArrayList 转换为字符串的最佳方法

Android ViewPager - 如何强制删除所有项目?

java - UI 和非 UI 线程的多线程

Android - 在运行时缩放 View 组(布局)

Android 为什么 Facebook SDK 注销按钮不显示?

android - 无法打开数据库

android - WorkManager 的 ForceStopRunnable 中的 SQLiteException

kotlin - 如何使用 Kotlin KClass 属性 simpleName 生成空值

java - 如何在饼图外添加标签