Попытка вызвать виртуальный метод android.content.Context androidx.fragment.app.FragmentHostCallback.getContext() по ссыAndroid

Форум для тех, кто программирует под Android
Ответить Пред. темаСлед. тема
Anonymous
 Попытка вызвать виртуальный метод android.content.Context androidx.fragment.app.FragmentHostCallback.getContext() по ссы

Сообщение Anonymous »

Я переношу данные из basefragment в homefragment и внутри basefragment из нижней навигации для перемещения фрагментов в androidx.fragment.app.FragmentContainerView
Используем и передаем данные без проблем, но при перемещении между фрагментами в androidx.fragment. app.FragmentContainerView
Я получаю сообщение об ошибке
Ошибка
Process: com.example.onestore, PID: 8461
java.lang.NullPointerException: Attempt to invoke virtual method 'android.content.Context androidx.fragment.app.FragmentHostCallback.getContext()' on a null object reference
at androidx.fragment.app.FragmentManager$3.instantiate(FragmentManager.java:507)
at androidx.navigation.fragment.FragmentNavigator.createFragmentTransaction(FragmentNavigator.kt:250)
at androidx.navigation.fragment.FragmentNavigator.navigate(FragmentNavigator.kt:185)
at androidx.navigation.fragment.FragmentNavigator.navigate(FragmentNavigator.kt:164)
at androidx.navigation.NavController.navigateInternal(NavController.kt:260)
at androidx.navigation.NavController.navigate(NavController.kt:1719)
at androidx.navigation.NavController.navigate(NavController.kt:1545)
at androidx.navigation.NavController.navigate(NavController.kt:1472)
at androidx.navigation.ui.NavigationUI.onNavDestinationSelected(NavigationUI.kt:92) at com.example.onestore.Fragment.BaseFragment.onViewCreated$lambda$0(BaseFragment.kt:52)
at com.example.onestore.Fragment.BaseFragment.$r8$lambda$AhYzRgHZPuF05HZ30iBPXzgh_yw(Unknown Source:0)
at com.example.onestore.Fragment.BaseFragment$$ExternalSyntheticLambda0.onNavigationItemSelected(Unknown Source:2)
at com.google.android.material.navigation.NavigationBarView$1.onMenuItemSelected(NavigationBarView.java:291)
at androidx.appcompat.view.menu.MenuBuilder.dispatchMenuItemSelected(MenuBuilder.java:836)
at androidx.appcompat.view.menu.MenuItemImpl.invoke(MenuItemImpl.java:159)
at androidx.appcompat.view.menu.MenuBuilder.performItemAction(MenuBuilder.java:987)
at com.google.android.material.navigation.NavigationBarMenuView$1.onClick(NavigationBarMenuView.java:139)
at android.view.View.performClick(View.java:7448)
at android.view.View.performClickInternal(View.java:7425)
at android.view.View.access$3600(View.java:810)
at android.view.View$PerformClick.run(View.java:28305)
at android.os.Handler.handleCallback(Handler.java:938)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:223)
at android.app.ActivityThread.main(ActivityThread.java:7656)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:592)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:947)

baseFragment
val MytData = Data
val fragment = HomeFragment.newInstance(MyData)

getChildFragmentManager()
.beginTransaction()
.replace(R.id.fragmentContainerView2, fragment)
.commit()

val navHomeFragment = getChildFragmentManager()
.findFragmentById(R.id.fragmentContainerView2) as NavHostFragment

val navController = navHomeFragment.navController
binding.bottomNavigationView.setupWithNavController(navController)
binding.bottomNavigationView.setOnItemSelectedListener { item ->
NavigationUI.onNavDestinationSelected(item, navController)
return@setOnItemSelectedListener false

homeFragment
companion object {
fun newInstance(yourData: Data) = HomeFragment().apply {
arguments = Bundle().apply { putParcelable("Key", yourData) }
}

}

val data : Data? = arguments?.getParcelable("Key")
if (data != null) {
insertData(data)
}

fragmnet_base.xml








nav_grap







меню









Подробнее здесь: https://stackoverflow.com/questions/781 ... agment-app
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Android»