Home > Software design >  setOnClickListener RecycleView (in a Fragment) navigate to another Fragment
setOnClickListener RecycleView (in a Fragment) navigate to another Fragment

Time:12-04

I have RecycleView in Fragment. When I click one of the items in RecyclerView, I want to open new Fragment. The second Fragment did not replace the previous but the Fragment is overwritten Image. How can I fix this?

My adapter:

    override fun onBindViewHolder(holder: ViewHolder, position: Int) {
        // Get element from your dataset at this position and replace the
        // contents of the view with that element

            val currentProduct = productList[position]

            holder.image.setImageBitmap(currentProduct.image)
            holder.title.text = currentProduct.title
            holder.price.text = currentProduct.price.toString() "€"



            //Go to product details
            holder.itemView.setOnClickListener {
                val activity = it.context as AppCompatActivity
                val detailsFragment = ProductDetailsFragment()
                activity.supportFragmentManager.beginTransaction().replace(R.id.fragment,detailsFragment).addToBackStack(null).commit()
            }



    }

CodePudding user response:

Use navigation component and smoothly navigateTo(action_from1fragment_to2fragment).

If you want to open specific dialog, fragment with specific data you can use lambda in adapter to provide id to viewmodel, fragment.

CodePudding user response:

Simple ans is to add elevation and background color to parent layout of second fragment and set arguments like clickable and focusable to true. your onClick for recyclerView is working fine.

  • Related