我遇到了一个问题。我有一个项目,然后将粘贴复制到另一个新项目中,并且遇到了这个错误
类Call不需要类型自变量
在第一个项目中,我没有任何问题... 这是我遇到错误的接口类
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
答案 0 :(得分:8)
只需验证您是否已从Retrofit导入了正确的软件包。
正确的软件包是retrofit2.Call
,不要与android.telecom.Call
混淆。
; )
答案 1 :(得分:1)
看一下要导入的部分,并检查Retrofit2.Call库是否已导入,有时它会与okhttp3.call接触,但是您必须使用该版本,因此请确保将库导入到接口/类中