Хочу получить данные от https://www.thesportsdb.com/api/v1/json/1/eventspastleague.php?id=4328
Но у меня есть ошибка
java.lang.IllegalArgumentException: параметр, указанный как ненулевой,
null: метод kotlin.jvm.internal.Intrinsics.checkParameterIsNotNull,
данные параметров в
com.yutra.jadwalbola.last_match.LastMatchFragment.showTeamList (Неизвестно
Источник: 21) в
com.yutra.jadwalbola.last_match.LastMatchPresenter $ getTeamList $ 1 $ 1.invoke (LastMatchPresenter.kt: 21)
в
com.yutra.jadwalbola.last_match.LastMatchPresenter $ getTeamList $ 1 $ 1.invoke (LastMatchPresenter.kt: 8)
это мой LastMatchDBApi
object LastMatchDBApi {
fun getMatch(): String {
return Uri.parse(BuildConfig.BASE_URL).buildUpon()
.appendPath("api")
.appendPath("v1")
.appendPath("json")
.appendPath(BuildConfig.TSDB_API_KEY)
.appendPath("eventspastleague.php")
.appendQueryParameter("id", "4328")
.build()
.toString()
}
}
это мой сериализованный
data class LastMatch(
@SerializedName("strEvent")
var eventName: String? = null
)
это мой ведущий
class LastMatchPresenter(private val view: MainView,
private val apiRepository: ApiRepository,
private val gson: Gson) {
fun getTeamList() {
view.showLoading()
doAsync {
val data = gson.fromJson(apiRepository
.doRequest(LastMatchDBApi.getMatch()),
LastMatchResponse::class.java
)
uiThread {
view.hideLoading()
view.showTeamList(data.lastMatch)
}
}
}
}
это мой ответ
data class LastMatchResponse(
val lastMatch: List<LastMatch>
)
это мой фрагмент активности
class LastMatchFragment : Fragment(), MainView {
private lateinit var progressBar: ProgressBar
private lateinit var swipeRefresh: SwipeRefreshLayout
private var lastMatch: MutableList<LastMatch> = mutableListOf()
private lateinit var adapter: MainAdapter
private lateinit var listTeam: RecyclerView
private var key : String = "4328"
companion object {
fun newInstance(): LastMatchFragment {
return LastMatchFragment()
}
}
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
}
override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?,
savedInstanceState: Bundle?): View? {
val view = UI {
linearLayout {
lparams (width = matchParent, height = wrapContent)
orientation = LinearLayout.VERTICAL
topPadding = dip(16)
leftPadding = dip(16)
rightPadding = dip(16)
// textView {
// text = "test image"
// }
relativeLayout{
lparams (width = matchParent, height = wrapContent)
listTeam = recyclerView {
lparams (width = matchParent, height = wrapContent)
layoutManager = LinearLayoutManager(ctx)
}
progressBar = progressBar {
}.lparams{
centerHorizontally()
}
}
}
}.view
adapter = MainAdapter(lastMatch)
listTeam.adapter = adapter
val request = ApiRepository()
val gson = Gson()
var presenter = LastMatchPresenter(this, request, gson)
presenter.getTeamList()
return view
}
override fun showLoading() {
progressBar.visible()
}
override fun hideLoading() {
progressBar.invisible()
}
override fun showTeamList(data: List<LastMatch>) {
lastMatch.clear()
lastMatch.addAll(data)
adapter.notifyDataSetChanged()
}
}
Если у кого-нибудь есть sourcode, чтобы получить эти данные, пожалуйста, помогите мне