#android-studio #kotlin #gson
Вопрос:
Как мне исправить эту ошибку. Я пытаюсь получить данные из api. Функция «FromJSON» выдает мне ошибку. Я попытался проверить другие вопросы с такой же проблемой, но не смог найти способ обойти ее.
Это раздел с ошибкой
private inner class GetWeather: AsyncTask<String, Void, String>() {
internal var pd = ProgressDialog(this@MainActivity)
override fun onPreExecute() {
pd.setTitle("Please wait")
pd.show()
}
override fun doInBackground(vararg params: String?): String {
var stream: String? = null
var urlString = params[0]
val http = HttpDataHandler()
stream = http.getHttpDataHandler(urlString)
return stream
}
override fun onPostExecute(result: String?) {
super.onPostExecute(result)
if (result != null) {
if (result.contains("Error: not found city"))
pd.dismiss()
return
}
val gson = Gson()
val mType = object : TypeToken<OpenWeatherMap>() {}.type
openWeatherMap = gson.fromJson<OpenWeatherMap>(result, mType)
pd.dismiss()
binding.tvCity.text = "${openWeatherMap.name},${openWeatherMap.sys!!.country}"
binding.tvLastUpdate.text = "Last update: ${Common.dateNow}"
binding.tvDescription.text = "${openWeatherMap.weather!![0].description}"
binding.tvTime.text = "${Common.unixTimeStampToDate(openWeatherMap.sys!!.sunrise)}/${
Common.unixTimeStampToDate(openWeatherMap.sys!!.sunset)
}"
binding.tvHumidity.text = "${openWeatherMap.main!!.humidity}"
binding.tvCelsius.text = "${openWeatherMap.main!!.temp} C"
Picasso.get().load(Common.getImage(openWeatherMap.weather!![0].icon!!))
.into(binding.ivImageView)
}
}
В этом и заключается ошибка
e: /Volumes/Work/MalikaliTechCompany/Weather-
app/HaliYaWeather/app/src/main/java/com/malikali/haliyaweather/MainActivity.kt:
(142, 35): Overload resolution ambiguity:
public open fun <T : Any!> fromJson(p0: JsonElement!, p1: Type!): TypeVariable(T)!
defined in com.google.gson.Gson
public open fun <T : Any!> fromJson(p0: JsonReader!, p1: Type!): TypeVariable(T)!
defined in com.google.gson.Gson
public open fun <T : Any!> fromJson(p0: Reader!, p1: Type!): TypeVariable(T)!
defined in com.google.gson.Gson
public open fun <T : Any!> fromJson(p0: String!, p1: Type!): TypeVariable(T)!
defined in com.google.gson.Gson