According to the Google\'s docs:
You can now embed fragments inside fragments. This is useful for a variety of situations in which
There is no reason to do any of the outlined hacks. If you're using ViewPager and PagerAdapter (not sure if they existed at the time of the question), you can use a FragmentPagerAdapter to manage the swipeable tab fragments for you.
class MyFragmentPagerAdapter(
  private val context: Context,
  fragmentManager: FragmentManager
) : FragmentPagerAdapter(fragmentManager) {
  override fun getCount() = 2
  override fun getItem(position: Int) = when(position) {
    0 -> FirstFragment()
    1 -> SecondFragment()
    else -> throw IllegalStateException("Unexpected position $position")
  }
  override fun getPageTitle(position: Int): CharSequence = when(position) {
    0 -> context.getString(R.string.first)
    1 -> context.getString(R.string.second)
    else -> throw IllegalStateException("Unexpected position $position")
  }
}
And
class ParentFragment: Fragment() {
  override fun onCreateView(...) = ...
  override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
    super.onViewCreated(view, savedInstanceState)
    viewPager.adapter = MyFragmentPagerAdapter(requireContext(), childFragmentManager)
    tabLayout.setupWithViewPager(viewPager)
  }
}