Итак, у меня есть массив с книгами, который я отображаю в программе recyclerView, но отображается только последний элемент массива.
Вот мой код:
backendManager.getAllBookPlaces(object: BackendManager.MyCallbackPlaces {
override fun onCallback(value: ArrayList<BookPlace>) {
Log.d("VALUE", value.size.toString())
name = intent.getStringExtra("NAME")
value.forEach {
println(it.name)
if (it.name == name ) {
it.books!!.forEach {it->
var book: Book? = null
book = it
Log.d("VALUE", book.title)
bookList!!.add(book)
}
Log.d("VALUE", value.size.toString())
}
// Log.d("START", bookList?.let { backendManager.getAllBooks(it) }!!.size.toString())
rv_book_list.layoutManager = LinearLayoutManager(this@BookPlaceActivity)
// Access the RecyclerView Adapter and load the data into it
rv_book_list.adapter = RecycleAdapter(bookList,this@BookPlaceActivity)
Log.d("END", bookList!!.size.toString())
}
}
})
Вот мой OnBindViewHolder. Я верю, что это может быть что-то здесь, но я не уверен, что. RecyclerView
override fun onBindViewHolder(holder: ViewHolder, position: Int) {
items?.forEach {
holder?.tvBookTitle?.text = it.title //items?.get(position)
holder?.tvBookAuthor.text = it.author
var ref = FirebaseStorage.getInstance().getReference("/images/${it.image}")
ref.downloadUrl.addOnSuccessListener {it->
Glide.with(context) //1
.load(it.toString())
.error(R.drawable.book_icon)
.fitCenter()
// .transform(CircleCrop())
.into(holder?.imagePic!!)
}
if (!it.isTaken) {
holder?.tvAvailable.text = "Available"
}
}
}