0

i have a problem. i want to show my EditFragment when item clicked, but it keep going to my EditFragment instead of showing Dialog

this is the code

override fun onBindViewHolder(holder: ViewHolder, position: Int) {
    val type = list[position]
    holder.binding.tvTitle.text = type.title
    holder.binding.tvIsiNotes.text = type.content

    holder.itemView.setOnClickListener{
        holder.itemView.findNavController().navigate(HomeFragmentDirections.actionHomeFragmentToEditFragment(type))
    }
Vin
  • 39
  • 5

1 Answers1

0

You should pass your click event to your fragment/activity

class YourAdapter(
  val list: List<Foo>,
  val listener: OnItemClickListener){

  interface OnItemClickListener {
     fun onItemClick(type:Foo)
  {

  override fun onBindViewHolder(holder: ViewHolder, position: Int) {
    val type = list[position]
    holder.binding.tvTitle.text = type.title
    holder.binding.tvIsiNotes.text = type.content

    holder.itemView.setOnClickListener{
       listener.onItemClick(type)
    }
}

In fragment/activity

adapter = YourAdaper(yourList, object : YourAdapter.OnItemClickListener {
   override fun onItemClick (type){ findNavController().navigate(HomeFragmentDirections.actionHomeFragmentToEditFragment(type))
   }
}

Muhammad Rio
  • 759
  • 5
  • 6