У меня проблема при вызове notifyItemRangeInserted
адаптера.Когда я вызываю этот метод, ничего не происходит, просто так.Я попытался установить println()
в ViewHolderAdapter
, но он не вызывается, поэтому я не могу просмотреть распечатки.
Я перепробовал все команды "notify"адаптер, и ничего из этого не работает.Просто ничего не происходит.
Это мой MainActivity
.Все объекты и массивы, которые я тестировал, все они работают как шарм.Я не могу понять, почему не работает уведомление.
class MainActivity:AppCompatActivity(){
//Declarations of the variables
var pageNumber = 1
var limitPerPage = 5
lateinit var product: Product
var productList = ArrayList<EachProduct>()
var myAdapter =ViewHolderAdapter(productList, productList.size)
override fun onCreate(savedInstanceState:Bundle?){
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
recyclerView.layoutManager = LinearLayoutManager(this@MainActivity)
recyclerView.adapter = myAdapter
Код для добавления элементов в список и уведомления ViewHolderAdapter
:
//update the product list
fun updateProductList(product:Product){
for(i in 0 until 5 step 1){
productList.add(product.produtos[i])
}
showData(productList,pageNumber*limitPerPage)//then notify
}
fun showData(productList:List<EachProduct>,productsListSize:Int){
myAdapter.notifyItemRangeInserted(0,productList.size)
}
Это мой класс ViewHolderAdapter
class ViewHolderAdapter(private var products: List<EachProduct>, private val productsListSize: Int): RecyclerView.Adapter<ViewHolderAdapter.ViewHolder>() {
override fun onCreateViewHolder(parent:ViewGroup,viewType:Int): ViewHolder {
val view = LayoutInflater.from(parent.context).inflate(R.layout.recyclerview_layout, parent, false)
returnViewHolder(view)
}
override fun getItemCount() = productsListSize
override fun onBindViewHolder(holder: ViewHolder, position: Int) {
holder.productName.text=products[position].nome
Picasso.get().load(products[position].fabricante.img).into((holder.productLogo))
}
class ViewHolder(itemView: View): RecyclerView.ViewHolder(itemView) {
val productName:TextView=itemView.ProductName
var productLogo:ImageView=itemView.ProductLogo
}
}
Я ожидаю, что будет вызван ViewHolderAdapter
, но этого не происходит.Почему это происходит?Я не могу понятьБуду очень признателен, если кто-нибудь сможет мне помочь.