Я переношу данные из 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
Попытка вызвать виртуальный метод android.content.Context androidx.fragment.app.FragmentHostCallback.getContext() по ссы ⇐ Android
Форум для тех, кто программирует под Android
1710612638
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
меню
Подробнее здесь: [url]https://stackoverflow.com/questions/78167086/attempt-to-invoke-virtual-method-android-content-context-androidx-fragment-app[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия