Android Custom Adapter вне связанного исключения - PullRequest
0 голосов
/ 18 октября 2018

При кодировании приложения для Android в Kotlin я столкнулся с этой ошибкой: enter image description here

Я использую OpenWeatherMapApi и из API, который я пытаюсьзахватить данные прогноза.И я смог получить данные прогноза благодаря okhttp3 и Gson, но теперь моя проблема заключается в отображении этих данных.Я создал и новый класс для пользовательского адаптера ArrayAdapter, где я пытаюсь отобразить в созданном мной textView, но я совершенно не уверен, почему я продолжаю получать ошибку, массив не должен иметь размер 1, но он заканчиваетсядо этого

код

import android.support.v7.widget.RecyclerView
import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
import kotlinx.android.synthetic.main.weather_row.view.*

class ForecastAdapter(val forecast: Forecast) : RecyclerView.Adapter<ForecastData>(){

    override fun getItemCount(): Int {
        return forecast.list.count()

    }

    override fun onCreateViewHolder(p0: ViewGroup, p1: Int): ForecastData {
        val layoutInflator = LayoutInflater.from(p0?.context)
        val cellForRow = layoutInflator.inflate(R.layout.weather_row, p0, false)
        return ForecastData(cellForRow)

    }

    override fun onBindViewHolder(p0: ForecastData, p1: Int) {
        val getWeather = forecast.list[p1]
        val  clouds = getWeather.weather[p1]
        p0.view.textView_text_clouds.text = clouds.main
    }

}

class ForecastData(val view: View): RecyclerView.ViewHolder(view){


}

1 Ответ

0 голосов
/ 18 октября 2018

Ваша проблема с

getWeather.weather[p1]

Список weather на самом деле не является списком.Обычно он имеет только один элемент.

Используйте это вместо:

getWeather.weather[0]
...