Notice
Recent Posts
Recent Comments
Link
개발새발 블로그
RecyclerView + Json 파싱 본문
binding.rv1.adapter = rvAdapter
binding.rv1.layoutManager = LinearLayoutManager(this)
|
class RvAdapter(private val context : Context): RecyclerView.Adapter<ViewHolder>(){
private var items: ArrayList<item>? = ArrayList()
override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): ViewHolder {
return ViewHolder(v)
}
override fun getItemCount(): Int {
return items?.size!!
}
override fun onBindViewHolder(holder: ViewHolder, position: Int) {
holder.cloude.text = items?.get(position)?.date
holder.main.text = items?.get(position)?.weather
}
fun addItem(item: item){
items?.add(item)
notifyDataSetChanged()
}
}
class ViewHolder (view: View) : RecyclerView.ViewHolder(view) {
// Holds the TextView that will add each animal to
}
|
private fun setAllTime(allTimeConnection: AllTimeConnection) {
val call: Call<ResAlltimeData> = allTimeConnection.service.getWeather2("forecast","1835841", "472bc4b8b7c94d954600861c857a2ca9")
call.enqueue(object : Callback<ResAlltimeData> {
override fun onResponse(call: Call<ResAlltimeData>, response: Response<ResAlltimeData>) {
if (response.isSuccessful) {
val body = response.body()
body?.list?.let {
for ( x in it )
{
rvAdapter.addItem(item(x.dt_txt,x.weather[0].description))
}
}
}
}
override fun onFailure(call: Call<ResAlltimeData>, t: Throwable) {
Log.d("this is error", t.message)
t.printStackTrace()
}
}
)
}
|
'kotlin' 카테고리의 다른 글
내 앱에 광고를 적용해보자!( 광고 매체사별 비교 ) (0) | 2020.03.08 |
---|---|
Gradle Kotlin DSL을 무작정 적용해보자! - 개발새발 블로그 (1) | 2020.01.14 |
by를 통한 유연한 상속 _ Tip : clickListener, apply, let (0) | 2019.12.12 |
Retrofit2 _ 기본이해 (0) | 2019.12.12 |
Comments