'A Problem with the Recycler View or with The collection Query from Firebase [duplicate]

I'm getting stuck on fetching data to the recycler View I don't Know Where is the problem exactly if it is from the Firebase Query or from setting up the adapter for the recycler view, the recyclerview creates the exact number of the items that exist in the Firebase but, No information to be shown this is what I tried

FireBase

fun GetProductsList (fragment : Fragment) {
        var productList: ArrayList<Products> = ArrayList()
        mFireStore.collection("products")
            .get()
            .addOnSuccessListener { docSnapshot ->

                for (document in docSnapshot.documents) {
                    val productToAddToList : Products = document.toObject(Products::class.java)!!
                    productList.add(productToAddToList!!)
                }
                when (fragment) {
                    is AdminProductFragment -> {
                        fragment.SuccesProductListFromFireStore(productList)
                    }
                }

Adapter

toverride fun onBindViewHolder(holder: RecyclerView.ViewHolder, position: Int) {
            val Model = productsList[position]
        if (holder is MyViewHolder ) {
            GlideLoader(context).loadProductPicture(Model.Image, holder.itemView.iv_item_image)
            holder.itemView.tv_item_name.text = Model.Name.toString()
            holder.itemView.tv_item_price.text = "${Model.Price.toString()} DZA"
        }
    }

And This

if (productList.size > 0 ) {
            recyclerViewProduct.visibility = View.VISIBLE
            text_no_productFounds.visibility = View.GONE
            recyclerViewProduct.layoutManager = LinearLayoutManager(activity)
            recyclerViewProduct.setHasFixedSize(true)
            val adapterProduct = MyProductsListAdapter(requireActivity(), productList)
            recyclerViewProduct.adapter = adapterProduct
        }else{
            recyclerViewProduct.visibility = View.GONE
            text_no_productFounds.visibility = View.VISIBLE
        }


Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source