Ошибка инициализации textEdit при вызове функции фрагмента из активити

При выполнении функции из активити не успевает пройти инициализация полей фрагмента. Функция вызывается из пункта меню (в тулбаре)

val myFragment = FirstFragment()
        supportFragmentManager
            .beginTransaction()
            .add(id.nav_host_fragment_content_main, myFragment , "MyFragment")
            .commit()
                
        myFragment.date1.setText("30.04.2018")

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

Автор решения: Svetl9chok

Как сказано в комментарии под твоим вопрос, нужно при передаче данных между activity и fragment стоит положить данные в bundle, а там уже в методе OnViewCreated(что бы гарантировать что view создастся) достать и вставить в нужное тебе поле, приведу пример

Код во фрагменте

  companion object {
        private const val DATA = "data"

        fun newInstance(data: String): Fragment = FirstFragment().apply {
            arguments = bundleOf(DATA to data)
        }
    }

    override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
        super.onViewCreated(view, savedInstanceState)

        requireArguments().getString(DATA)?.let { data ->
            //to do
        }
    }

код во активити

val myFragment = FirstFragment.newInstance(data)
        supportFragmentManager
            .beginTransaction()
            .replace(id.nav_host_fragment_content_main, myFragment , "MyFragment")
            .commit()
→ Ссылка