Ошибка при смене языка в приложении

Инициализация ViewPager

viewPager = findViewById(R.id.pager)
        viewPager.adapter = ViewPagerAdapter(this)

адаптер ViewPager

class ViewPagerAdapter(activity: AppCompatActivity): FragmentStateAdapter(activity)  {
    private val profileFragment = ProfileFragment()
    private val messagesFragment = TwoFieldFragment()

    override fun getItemCount(): Int = 2

    override fun createFragment(position: Int): Fragment =
        when (position){
            0 -> ProfileFragment()
            else -> TwoFieldFragment()
        }

}

При смене языка в приложении, что он поменялся я вызываю код

  override fun updateLanguage() {
        startActivity(Intent(this, MainActivity::class.java))
        finish()
    }

Этот код закрывает мое активити и вызывает опять его, но уже с другим языком, но вот второй экран в ViewPager Пока сначала идет загрузка данных с инета, а потом загружает один из fragment в зависимояти от полученных данных

 viewModel.liveData.observeForever {

            if (layout.visibility == View.GONE) {
                layout.visibility = View.VISIBLE
                loadingProgressBar.visibility = View.GONE
            }
            Log.i("TwoFieldFragment","${childFragmentManager.fragments.size}")
            if (childFragmentManager.fragments.isEmpty()) {
                if (it.isEmpty()) {
                    childFragmentManager.beginTransaction()
                        .add(R.id.messages_field, EmptyFragment()).commit()
                } else {
                    childFragmentManager.beginTransaction()
                        .add(R.id.messages_field, ChatListFragment.newInstance(it)).commit()
                }
            }}

но вот проблема в том что при скролле на второй экран вылнтает ошибка

 java.lang.IllegalStateException: Fragment TwoFieldFragment{440bcb7} (9bed5961-64af-4db9-b44a-c2245957ec49)} has not been attached yet.
        at androidx.fragment.app.Fragment.getChildFragmentManager(Fragment.java:980)
        at com.io.unknow.ui.fragment.messagefragment.TwoFieldFragment$onViewCreated$1.onChanged(TwoFieldFragment.kt:45)
        at com.io.unknow.ui.fragment.messagefragment.TwoFieldFragment$onViewCreated$1.onChanged(TwoFieldFragment.kt:19)

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