0

我有一个带有多个按钮的主页片段,当我单击联系人按钮时,会打开另一个片段。在这个片段中,我有两个子片段和两个按钮,我可以使用这些按钮在这些子片段之间切换。问题是当我按下Back Button时,它会在子片段之间切换回来,然后才返回主片段,但我想直接返回主片段。

这就是我打开子片段的方式:

override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
    super.onViewCreated(view, savedInstanceState)
    val contactsListFragment = ContactsListFragment()
    val groupsListFragment = GroupsListFragment()

    activity?.title = getString(R.string.contacts_and_groups)
    openChildFragment(contactsListFragment)

    binding.contactsButton.setOnClickListener {
        openChildFragment(contactsListFragment)
    }

    binding.groupsButton.setOnClickListener {
        openChildFragment(groupsListFragment)
    }
}

private fun openChildFragment(fragment: Fragment) {
    val childFragmentManager = childFragmentManager
    val transaction: FragmentTransaction = childFragmentManager.beginTransaction()
    transaction.replace(binding.contactsGroupsFl.id, fragment)
    transaction.addToBackStack(null)
    transaction.commit()
}

如果有人可以帮助我解决这个问题,那就太好了。谢谢!

4

0 回答 0