вот исходный код этого действия:
lateinit var rvMain:RecyclerView
lateinit var myAdapter: MyAdapter
Код: Выделить всё
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_2)
rvMain = findViewById(R.id.recycler_view)
setContent {
rvMain.findViewById(R.id.recycler_view)
rvMain.layoutManager = LinearLayoutManager(this)
getAllData()
}
}
private fun getAllData() {
var retrofit = Retrofit.Builder()
.baseUrl(BASE_URL)
.addConverterFactory(GsonConverterFactory.create())
.build()
.create(ApiInterface::class.java)
var retroData = retrofit.getData()
retroData.enqueue(object :Callback {
override fun onResponse(
call:Call,
response: retrofit2.Response
) {
var data = response.body()
myAdapter = MyAdapter(baseContext, data as ArrayList)
rvMain.adapter = myAdapter
Log.d("data", data.toString())
}
override fun onFailure(call: Call, t: Throwable) {
//Log.d("data", "!!! ERROR in getting data !!!")
t.message?.let { Log.d("data", it) }
}
})
}
class MyAdapter(var con :Context,val list:ArrayList):RecyclerView.Adapter() {
Код: Выделить всё
inner class ViewHolder(v : View):RecyclerView.ViewHolder(v) {
var img = v.findViewById(R.id.RV_Image)
}
override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): ViewHolder {
var view = LayoutInflater.from(con).inflate(R.layout.list_item,parent,false)
return ViewHolder(view)
}
override fun onBindViewHolder(holder: ViewHolder, position: Int) {
Glide.with(con).load(list[position].image_path).into(holder.img)
}
override fun getItemCount(): Int {
return list.count()
}
Подробнее здесь: https://stackoverflow.com/questions/783 ... image-also