Как использовать FragmentStateAdapter в Fragment?

В своем приложении использую NavigationDrawer, который имеет три пункта - фрагмент с ViewPager2, фрагмент с WebView и фрагмент с RecyclerView. Все преходы делаю через Navigation. В фрагменте с ViewPager2 использую FragmentStateAdapter, который принимает FragmentActivity.

Вопрос: Можно ли привести Fragment к FragmentActivity? Если нет, то как запускать активити по нажатию на один из пунктов NavigationDrawer'а?

Ниже приведен код фрагмента с ViewPager'ом:

class ViewPagerFragment : Fragment() {

    private lateinit var viewPager: ViewPager2

    override fun onCreateView(
        inflater: LayoutInflater,
        container: ViewGroup?,
        savedInstanceState: Bundle?
    ): View? {
        val view = inflater.inflate(R.layout.fragment_recycler_view, container, false)

        viewPager = view.findViewById(R.id.view_pager)
        val pagerAdapter = ScreenSlidePageAdapter()
        viewPager.adapter = pagerAdapter

        return view
    }


    private inner class ScreenSlidePageAdapter(fragmentActivity: FragmentActivity) :
        FragmentStateAdapter(fragmentActivity) {
        override fun getItemCount(): Int =
            NUM_PAGES

        override fun createFragment(position: Int): Fragment = when(position) {
            0 -> SlideScreenPageFragment(R.drawable.image_one, "First image")
            1 -> SlideScreenPageFragment(R.drawable.image_two, "Second image")
            2 -> SlideScreenPageFragment(R.drawable.image_three, "Third image")
            else -> throw NullPointerException()
        }

    }

    companion object {
        private const val NUM_PAGES = 3
    }

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

Автор решения: Alex Filonenko

В конструктор FragmentStateAdapter можно передавать фрагмент, содержащий ViewPager

→ Ссылка