Открыть фрагмент по клику в RecyclerView другого фрагмента

У меня есть основной фрагмент:

class GroupsFragment(uid:Int) : Fragment(){

private var groupChoiser=VKGroupChoiseFragment(uid)

override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?) =
    inflater.inflate(R.layout.groups_fragment, container, false)!!

override fun onActivityCreated(savedInstanceState: Bundle?) {
    super.onActivityCreated(savedInstanceState)
    val manager = activity!!.supportFragmentManager
    val transaction= manager.beginTransaction()
    transaction.replace(R.id.vk_groups_wall_view,groupChoiser)
    transaction.commit()

 }

}

Из него сразу вызывается фрагмент с RecyclerView:

class VKGroupChoiseFragment(uid:Int) : Fragment() {
private val uid=uid
lateinit var recyclerView: RecyclerView
override fun onCreateView(
    inflater: LayoutInflater,
    container: ViewGroup?,
    savedInstanceState: Bundle?
): View? {
    return inflater.inflate(R.layout.fragment_vk_group_choise, container, false)
}
override fun onActivityCreated(savedInstanceState: Bundle?) {
    super.onActivityCreated(savedInstanceState)
    recyclerView = view!!.findViewById(R.id.vk_groups_recyclerview)
    recyclerView.setHasFixedSize(true)
    recyclerView.layoutManager = LinearLayoutManager(context)
    getVKGroups(uid,context!!,recyclerView)

  }

 }

Адаптер для RecyclerView:

class VKGroupsAdapter(
mDataSet: List<VKGroupItem>,
width: Int
)  :
    RecyclerView.Adapter<VKGroupsAdapter.VKGroupsViewHolder>() {
    private var mDataSet: ArrayList<VKGroupItem>
    private var displayWidth = width
    override fun onCreateViewHolder(
        parent: ViewGroup,
        viewType: Int
    ): com.e.socialparser.fragments.vk_tabs.vk_groups_fragment.VKGroupsAdapter.VKGroupsViewHolder {
        val view: View = LayoutInflater.from(parent.context).inflate(
            R.layout.vk_groups_row,
            parent,
            false
        )

        return VKGroupsViewHolder(view)
    }

    override fun onBindViewHolder(
        holder: com.e.socialparser.fragments.vk_tabs.vk_groups_fragment.VKGroupsAdapter.VKGroupsViewHolder,
        position: Int
    ) {
        Glide.with(holder.avatar.context).load(mDataSet[position].photo_100).into(holder.avatar)
        holder.groupName.setText(mDataSet[position].name)
        holder.groupScreenName.setText(mDataSet[position].screen_name)
    }

    override fun getItemCount() = mDataSet.size

    inner class VKGroupsViewHolder(itemView: View):
        RecyclerView.ViewHolder(itemView) {

        val avatar: ImageView
        val groupName: TextView
        val groupScreenName:TextView
        init {
            avatar = itemView.findViewById<View>(R.id.vk_group_profile_photo) as ImageView
            groupName = itemView.findViewById<View>(R.id.vk_group_name) as TextView
            groupScreenName=itemView.findViewById<View>(R.id.vk_group_screen_name) as TextView
        }
    }
    init {

        this.mDataSet = mDataSet as ArrayList<VKGroupItem>
    }
}

Как по клику в Recyclerview Item открыть другой фрагмент и передать в него данные?

class WallFragment(uid: Int?) : Fragment() {
lateinit var recyclerView: RecyclerView
private val uid=uid
override fun onCreateView(
    inflater: LayoutInflater,
    container: ViewGroup?,
    savedInstanceState: Bundle?
): View {
    val view: View = inflater.inflate(R.layout.wall_fragment, container, false)
    return view
}

override fun onActivityCreated(savedInstanceState: Bundle?) {
    super.onActivityCreated(savedInstanceState)
    recyclerView = view!!.findViewById(R.id.vk_wall_recyclerview)
    recyclerView.setHasFixedSize(true)
    recyclerView.layoutManager = LinearLayoutManager(context)

    getVKWall(uid,context!!,recyclerView)
}

override fun onResume() {
    super.onResume()
}
}

Ответы (0 шт):