Приложение вылетает из-за изменения темы при открытии нижнего листа ⇐ Android
Приложение вылетает из-за изменения темы при открытии нижнего листа
У меня есть нижний лист, который я раздуваю, чтобы отобразить подробную информацию о ресторанном продукте.
класс ProductItemInfo (частное значение продукта: Продукт): BottomSheetDialogFragment () { частная переменная _binding: DialogProductInfoBinding? = ноль частная привязка val get() = _binding!! переопределить удовольствие onCreateView( инфлятор: LayoutInflater, контейнер: ViewGroup?, saveInstanceState: Пакет? ): Вид { _binding = DialogProductInfoBinding.inflate(инфлятор, контейнер, ложь) вернуть привязку.корень } переопределить fun onViewCreated(view: View, saveInstanceState: Bundle?) { super.onViewCreated(просмотр, сохраненныйInstanceState) привязка.применить { имя_продукта.текст = имя_продукта.имя ProductPrice.text = String.format("Rs %s", product.totalPrice) ProductCategory.text=product.category ProductDescription.text=product.category ProductImage.load(product.image) } } переопределить удовольствие getTheme(): Int { вернуть R.style.CustomBottomSheetDialogTheme } переопределить удовольствие onDestroyView() { супер.onDestroyView() _binding = ноль } }
Я раздуваю это диалоговое окно нижнего листа из фрагмента.
val диалогProductInfoBinding = ProductItemInfo(it) диалогПродуктИнфоБиндинг.шоу (childFragmentManager, ноль) Проблема в том, что когда я открываю нижний лист, а затем перетаскиваю панель уведомлений, чтобы переключить темную тему, мое приложение вылетает. Понятия не имею, почему это происходит.
Вот журнал ошибок
E/AndroidRuntime: ФАТАЛЬНОЕ ИСКЛЮЧЕНИЕ: main Процесс: ass.cafeburp.dine, PID: 18522 java.lang.RuntimeException: невозможно начать действие ComponentInfo{ass.cafeburp.dine/ass.cafeburp.dine.presentation.MainActivity}: android.view.InflateException: строка двоичного XML-файла № 22 в ass.cafeburp.dine:layout/ Activity_main: строка двоичного XML-файла №9 в ass.cafeburp.dine:layout/content_main: ошибка при раздувании фрагмента класса в android.app.ActivityThread.performLaunchActivity(ActivityThread.java:4035) в android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:4201) в android.app.ActivityThread.handleRelaunchActivityInner(ActivityThread.java:6347) в android.app.ActivityThread.handleRelaunchActivity(ActivityThread.java:6212) в android.app.servertransaction.ActivityRelaunchItem.execute(ActivityRelaunchItem.java:71) в android.app.servertransaction.ActivityTransactionItem.execute(ActivityTransactionItem.java:45) в android.app.servertransaction.TransactionExecutor.executeCallbacks (TransactionExecutor.java:135) в android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:95) в android.app.ActivityThread$H.handleMessage(ActivityThread.java:2438) в android.os.Handler.dispatchMessage(Handler.java:106) в android.os.Looper.loopOnce(Looper.java:226) в android.os.Looper.loop(Looper.java:313) в android.app.ActivityThread.main(ActivityThread.java:8663) в java.lang.reflect.Method.invoke (собственный метод) на com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:567) на com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1135) Вызвано: android.view.InflateException: строка двоичного файла XML № 22 в ass.cafeburp.dine:layout/activity_main: строка двоичного файла XML № 9 в ass.cafeburp.dine:layout/content_main: ошибка при раздувании фрагмента класса Вызвано: android.view.InflateException: строка двоичного XML-файла №9 в ass.cafeburp.dine:layout/content_main: ошибка при раздувании фрагмента класса Вызвано: androidx.fragment.app.Fragment$InstantiationException: невозможно создать экземпляр фрагмента ass.cafeburp.dine.presentation.dialogs.ProductItemInfo: не удалось найти конструктор фрагмента в androidx.fragment.app.Fragment.instantiate(Fragment.java:678) в androidx.fragment.app.FragmentContainer.instantiate(FragmentContainer.java:57) в androidx.fragment.app.FragmentManager$3.instantiate(FragmentManager.java:498) в androidx.fragment.app.FragmentState.instantiate(FragmentState.java:81) в androidx.fragment.app.FragmentStateManager.(FragmentStateManager.java:85) в androidx.fragment.app.FragmentManager.restoreSaveStateInternal (FragmentManager.java:2496) в androidx.fragment.app.Fragment.restoreChildFragmentState(Fragment.java:1989) в androidx.fragment.app.Fragment.onCreate(Fragment.java:1965) в androidx.fragment.app.Fragment.performCreate(Fragment.java:3090) в androidx.fragment.app.FragmentStateManager.create(FragmentStateManager.java:475) в androidx.fragment.app.FragmentStateManager.moveToExpectedState(FragmentStateManager.java:257) в androidx.fragment.app.FragmentStore.moveToExpectedState(FragmentStore.java:113) в androidx.fragment.app.FragmentManager.moveToState(FragmentManager.java:1424) в androidx.fragment.app.FragmentManager.dispatchStateChange(FragmentManager.java:2968) в androidx.fragment.app.FragmentManager.dispatchCreate(FragmentManager.java:2875) в androidx.fragment.app.Fragment.restoreChildFragmentState(Fragment.java:1990) в androidx.fragment.app.Fragment.onCreate(Fragment.java:1965) в androidx.navigation.fragment.NavHostFragment.onCreate(NavHostFragment.kt:169) в androidx.fragment.app.Fragment.performCreate(Fragment.java:3090) в androidx.fragment.app.FragmentStateManager.create(FragmentStateManager.java:475) в androidx.fragment.app.FragmentStateManager.moveToExpectedState(FragmentStateManager.java:257) в androidx.fragment.app.FragmentLayoutInflaterFactory.onCreateView(FragmentLayoutInflaterFactory.java:142) в androidx.fragment.app.FragmentController.onCreateView(FragmentController.java:136) E/AndroidRuntime: в androidx.fragment.app.FragmentActivity.dispatchFragmentsOnCreateView(FragmentActivity.java:248) в androidx.fragment.app.FragmentActivity.onCreateView(FragmentActivity.java:227) в android.view.LayoutInflater.tryCreateView(LayoutInflater.java:1073) в android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:1001) в android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:965) в android.view.LayoutInflater.rInflate(LayoutInflater.java:1127) в android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:1088) в android.view.LayoutInflater.parseInclude(LayoutInflater.java:1267) в android.view.LayoutInflater.rInflate(LayoutInflater.java:1123) в android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:1088) в android.view.LayoutInflater.inflate(LayoutInflater.java:686) в android.view.LayoutInflater.inflate(LayoutInflater.java:538) в ass.cafeburp.dine.databinding.ActivityMainBinding.inflate(ActivityMainBinding.java:49) в ass.cafeburp.dine.databinding.ActivityMainBinding.inflate(ActivityMainBinding.java:43) в ass.cafeburp.dine.presentation.MainActivity.onCreate(MainActivity.kt:28) в android.app.Activity.performCreate(Activity.java:8290) в android.app.Activity.performCreate(Activity.java:8270) в android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1329) в android.app.ActivityThread.performLaunchActivity(ActivityThread.java:4009) в android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:4201) в android.app.ActivityThread.handleRelaunchActivityInner(ActivityThread.java:6347) в android.app.ActivityThread.handleRelaunchActivity(ActivityThread.java:6212) в android.app.servertransaction.ActivityRelaunchItem.execute(ActivityRelaunchItem.java:71) в android.app.servertransaction.ActivityTransactionItem.execute(ActivityTransactionItem.java:45) в android.app.servertransaction.TransactionExecutor.executeCallbacks (TransactionExecutor.java:135) в android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:95) в android.app.ActivityThread$H.handleMessage(ActivityThread.java:2438) в android.os.Handler.dispatchMessage(Handler.java:106) в android.os.Looper.loopOnce(Looper.java:226) в android.os.Looper.loop(Looper.java:313) в android.app.ActivityThread.main(ActivityThread.java:8663) в java.lang.reflect.Method.invoke (собственный метод) на com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:567) на com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1135) Вызвано: java.lang.NoSuchMethodException: ass.cafeburp.dine.presentation.dialogs.ProductItemInfo. [] в java.lang.Class.getConstructor0(Class.java:2363) в java.lang.Class.getConstructor(Class.java:1759) в androidx.fragment.app.Fragment.instantiate(Fragment.java:663) ... еще 56
У меня есть нижний лист, который я раздуваю, чтобы отобразить подробную информацию о ресторанном продукте.
класс ProductItemInfo (частное значение продукта: Продукт): BottomSheetDialogFragment () { частная переменная _binding: DialogProductInfoBinding? = ноль частная привязка val get() = _binding!! переопределить удовольствие onCreateView( инфлятор: LayoutInflater, контейнер: ViewGroup?, saveInstanceState: Пакет? ): Вид { _binding = DialogProductInfoBinding.inflate(инфлятор, контейнер, ложь) вернуть привязку.корень } переопределить fun onViewCreated(view: View, saveInstanceState: Bundle?) { super.onViewCreated(просмотр, сохраненныйInstanceState) привязка.применить { имя_продукта.текст = имя_продукта.имя ProductPrice.text = String.format("Rs %s", product.totalPrice) ProductCategory.text=product.category ProductDescription.text=product.category ProductImage.load(product.image) } } переопределить удовольствие getTheme(): Int { вернуть R.style.CustomBottomSheetDialogTheme } переопределить удовольствие onDestroyView() { супер.onDestroyView() _binding = ноль } }
Я раздуваю это диалоговое окно нижнего листа из фрагмента.
val диалогProductInfoBinding = ProductItemInfo(it) диалогПродуктИнфоБиндинг.шоу (childFragmentManager, ноль) Проблема в том, что когда я открываю нижний лист, а затем перетаскиваю панель уведомлений, чтобы переключить темную тему, мое приложение вылетает. Понятия не имею, почему это происходит.
Вот журнал ошибок
E/AndroidRuntime: ФАТАЛЬНОЕ ИСКЛЮЧЕНИЕ: main Процесс: ass.cafeburp.dine, PID: 18522 java.lang.RuntimeException: невозможно начать действие ComponentInfo{ass.cafeburp.dine/ass.cafeburp.dine.presentation.MainActivity}: android.view.InflateException: строка двоичного XML-файла № 22 в ass.cafeburp.dine:layout/ Activity_main: строка двоичного XML-файла №9 в ass.cafeburp.dine:layout/content_main: ошибка при раздувании фрагмента класса в android.app.ActivityThread.performLaunchActivity(ActivityThread.java:4035) в android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:4201) в android.app.ActivityThread.handleRelaunchActivityInner(ActivityThread.java:6347) в android.app.ActivityThread.handleRelaunchActivity(ActivityThread.java:6212) в android.app.servertransaction.ActivityRelaunchItem.execute(ActivityRelaunchItem.java:71) в android.app.servertransaction.ActivityTransactionItem.execute(ActivityTransactionItem.java:45) в android.app.servertransaction.TransactionExecutor.executeCallbacks (TransactionExecutor.java:135) в android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:95) в android.app.ActivityThread$H.handleMessage(ActivityThread.java:2438) в android.os.Handler.dispatchMessage(Handler.java:106) в android.os.Looper.loopOnce(Looper.java:226) в android.os.Looper.loop(Looper.java:313) в android.app.ActivityThread.main(ActivityThread.java:8663) в java.lang.reflect.Method.invoke (собственный метод) на com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:567) на com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1135) Вызвано: android.view.InflateException: строка двоичного файла XML № 22 в ass.cafeburp.dine:layout/activity_main: строка двоичного файла XML № 9 в ass.cafeburp.dine:layout/content_main: ошибка при раздувании фрагмента класса Вызвано: android.view.InflateException: строка двоичного XML-файла №9 в ass.cafeburp.dine:layout/content_main: ошибка при раздувании фрагмента класса Вызвано: androidx.fragment.app.Fragment$InstantiationException: невозможно создать экземпляр фрагмента ass.cafeburp.dine.presentation.dialogs.ProductItemInfo: не удалось найти конструктор фрагмента в androidx.fragment.app.Fragment.instantiate(Fragment.java:678) в androidx.fragment.app.FragmentContainer.instantiate(FragmentContainer.java:57) в androidx.fragment.app.FragmentManager$3.instantiate(FragmentManager.java:498) в androidx.fragment.app.FragmentState.instantiate(FragmentState.java:81) в androidx.fragment.app.FragmentStateManager.(FragmentStateManager.java:85) в androidx.fragment.app.FragmentManager.restoreSaveStateInternal (FragmentManager.java:2496) в androidx.fragment.app.Fragment.restoreChildFragmentState(Fragment.java:1989) в androidx.fragment.app.Fragment.onCreate(Fragment.java:1965) в androidx.fragment.app.Fragment.performCreate(Fragment.java:3090) в androidx.fragment.app.FragmentStateManager.create(FragmentStateManager.java:475) в androidx.fragment.app.FragmentStateManager.moveToExpectedState(FragmentStateManager.java:257) в androidx.fragment.app.FragmentStore.moveToExpectedState(FragmentStore.java:113) в androidx.fragment.app.FragmentManager.moveToState(FragmentManager.java:1424) в androidx.fragment.app.FragmentManager.dispatchStateChange(FragmentManager.java:2968) в androidx.fragment.app.FragmentManager.dispatchCreate(FragmentManager.java:2875) в androidx.fragment.app.Fragment.restoreChildFragmentState(Fragment.java:1990) в androidx.fragment.app.Fragment.onCreate(Fragment.java:1965) в androidx.navigation.fragment.NavHostFragment.onCreate(NavHostFragment.kt:169) в androidx.fragment.app.Fragment.performCreate(Fragment.java:3090) в androidx.fragment.app.FragmentStateManager.create(FragmentStateManager.java:475) в androidx.fragment.app.FragmentStateManager.moveToExpectedState(FragmentStateManager.java:257) в androidx.fragment.app.FragmentLayoutInflaterFactory.onCreateView(FragmentLayoutInflaterFactory.java:142) в androidx.fragment.app.FragmentController.onCreateView(FragmentController.java:136) E/AndroidRuntime: в androidx.fragment.app.FragmentActivity.dispatchFragmentsOnCreateView(FragmentActivity.java:248) в androidx.fragment.app.FragmentActivity.onCreateView(FragmentActivity.java:227) в android.view.LayoutInflater.tryCreateView(LayoutInflater.java:1073) в android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:1001) в android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:965) в android.view.LayoutInflater.rInflate(LayoutInflater.java:1127) в android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:1088) в android.view.LayoutInflater.parseInclude(LayoutInflater.java:1267) в android.view.LayoutInflater.rInflate(LayoutInflater.java:1123) в android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:1088) в android.view.LayoutInflater.inflate(LayoutInflater.java:686) в android.view.LayoutInflater.inflate(LayoutInflater.java:538) в ass.cafeburp.dine.databinding.ActivityMainBinding.inflate(ActivityMainBinding.java:49) в ass.cafeburp.dine.databinding.ActivityMainBinding.inflate(ActivityMainBinding.java:43) в ass.cafeburp.dine.presentation.MainActivity.onCreate(MainActivity.kt:28) в android.app.Activity.performCreate(Activity.java:8290) в android.app.Activity.performCreate(Activity.java:8270) в android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1329) в android.app.ActivityThread.performLaunchActivity(ActivityThread.java:4009) в android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:4201) в android.app.ActivityThread.handleRelaunchActivityInner(ActivityThread.java:6347) в android.app.ActivityThread.handleRelaunchActivity(ActivityThread.java:6212) в android.app.servertransaction.ActivityRelaunchItem.execute(ActivityRelaunchItem.java:71) в android.app.servertransaction.ActivityTransactionItem.execute(ActivityTransactionItem.java:45) в android.app.servertransaction.TransactionExecutor.executeCallbacks (TransactionExecutor.java:135) в android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:95) в android.app.ActivityThread$H.handleMessage(ActivityThread.java:2438) в android.os.Handler.dispatchMessage(Handler.java:106) в android.os.Looper.loopOnce(Looper.java:226) в android.os.Looper.loop(Looper.java:313) в android.app.ActivityThread.main(ActivityThread.java:8663) в java.lang.reflect.Method.invoke (собственный метод) на com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:567) на com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1135) Вызвано: java.lang.NoSuchMethodException: ass.cafeburp.dine.presentation.dialogs.ProductItemInfo. [] в java.lang.Class.getConstructor0(Class.java:2363) в java.lang.Class.getConstructor(Class.java:1759) в androidx.fragment.app.Fragment.instantiate(Fragment.java:663) ... еще 56
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
Как применить тень к строке состояния при открытии нижнего листа в Compose?
Anonymous » » в форуме Android - 0 Ответы
- 24 Просмотры
-
Последнее сообщение Anonymous
-
-
-
Панель навигации показывает черную полосу при открытии нижнего листа в Android 15
Anonymous » » в форуме Android - 0 Ответы
- 18 Просмотры
-
Последнее сообщение Anonymous
-
-
-
Панель навигации показывает черную полосу при открытии нижнего листа в Android 15
Anonymous » » в форуме Android - 0 Ответы
- 21 Просмотры
-
Последнее сообщение Anonymous
-
-
-
Панель навигации показывает черную полосу при открытии нижнего листа в Android 15
Anonymous » » в форуме Android - 0 Ответы
- 17 Просмотры
-
Последнее сообщение Anonymous
-