Передача данных из Activity во фрагмент, созданный с помощью FragmentManager

Вопрос вроде бы избитый, но, изучив ряд тем, проблему так и не решил. Фрагмент наотрез отказывается принимать данные через bundle, либо я неправильно обращаюсь к аргументам. Вероятно здесь стоит работать через адаптер, но я ума не приложу, как это реализовать. Задачей стоит передать из активити текстовое значение и записать его в поле ввода на разметке фрагмента.

Activity:

    private fun init(){

    val fm: FragmentManager = supportFragmentManager
    adapter = FragmentAdapter(fm, lifecycle)
    binding.viewPager2.adapter = adapter

    binding.tabLayout.addTab(binding.tabLayout.newTab().setText("Профиль"))
    ...
    binding.tabLayout.addTab(binding.tabLayout.newTab().setText("Атрибуты"))

    binding.tabLayout.addOnTabSelectedListener(object : OnTabSelectedListener {
        override fun onTabSelected(tab: TabLayout.Tab) {
            binding.viewPager2.currentItem = tab.position
        }
        override fun onTabUnselected(tab: TabLayout.Tab) {}
        override fun onTabReselected(tab: TabLayout.Tab) {}
    })
    binding.viewPager2.registerOnPageChangeCallback(object : OnPageChangeCallback() {
        override fun onPageSelected(position: Int) {
            binding.tabLayout.selectTab(binding.tabLayout.getTabAt(position))
        }
    })
    getIntents()
}

private fun getIntents(){
    ...
    val bundle = Bundle()
    bundle.putString("I_PNAME_KEY", "например")
    ProfileMainFragment.getInstance(args = bundle)
}

ProfileMainFragment:

class ProfileMainFragment : Fragment() {
private var binding: FragmentProfileMainBinding? = null

companion object {
    fun getInstance(args: Bundle?): ProfileMainFragment = ProfileMainFragment().apply { arguments = args }
}

override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
    super.onViewCreated(view, savedInstanceState)
    binding = FragmentProfileMainBinding.bind(view)
    getValues()
}

private fun getValues(){
    ...
    binding!!.actPrPName.setText(arguments?.getString("I_PNAME_KEY"))
}
}

Адаптер:

class FragmentAdapter(fragmentManager: FragmentManager, lifecycle: Lifecycle) :
FragmentStateAdapter(fragmentManager, lifecycle) {
override fun createFragment(position: Int): Fragment {
    when (position) {
        1 -> return ProfileAtributesFragment()
        2 -> return ProfileAbilitiesFragment()
        3 -> return ProfileAdvantagesFragment()
        4 -> return ProfileUnvitalFragment()
        5 -> return ProfileCommentsFragment()
    }
    return ProfileMainFragment()
}

override fun getItemCount(): Int {
    return 6
}
}

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