Приложение на экране входа в систему выдает черный экран только на планшетеAndroid

Форум для тех, кто программирует под Android
Ответить
Anonymous
 Приложение на экране входа в систему выдает черный экран только на планшете

Сообщение Anonymous »


Я создал это приложение для мобильных устройств и планшетов, и все работало отлично, пока я не столкнулся с этой проблемой. приложение отлично работает на мобильном телефоне, но на планшете появляется черный экран

это ошибка

I/flutter (28116): #717 ComponentElement.performRebuild (пакет:flutter/src/widgets/framework.dart:5322:16) I/flutter (28116): #718 Element.rebuild (пакет:flutter/src/widgets/framework.dart:5016:7) I/flutter (28116): #719 ProxyElement.update (пакет:flutter/src/widgets/framework.dart:5628:5) I/flutter (28116): #720 _InheritedNotifierElement.update (пакет:flutter/src/widgets/inherited_notifier.dart:107:11) I/flutter (28116): #721 Element.updateChild (пакет: flutter/src/widgets/framework.dart:3685:15) I/flutter (28116): #722 ComponentElement.performRebuild (пакет:flutter/src/widgets/framework.dart:5322:16) I/flutter (28116): #723 StatefulElement.performRebuild (пакет:flutter/src/widgets/framework.dart:5462:11) I/flutter (28116): #724 Element.rebuild (пакет:flutter/src/widgets/framework.dart:5016:7) I/flutter (28116): #725 StatefulElement.update (пакет:flutter/src/widgets/framework.dart:5485:5) I/flutter (28116): #726 Element.updateChild (пакет: flutter/src/widgets/framework.dart:3685:15) I/flutter (28116): #727 ComponentElement.performRebuild (пакет:flutter/src/widgets/framework.dart:5322:16) I/flutter (28116): #728 StatefulElement.performRebuild (пакет:flutter/src/widgets/framework.dart:5462:11) I/flutter (28116): #729 Element.rebuild (пакет:flutter/src/widgets/framework.dart:5016:7) I/flutter (28116): #730 StatefulElement.update (пакет:flutter/src/widgets/framework.dart:5485:5) I/flutter (28116): #731 Element.updateChild (пакет: flutter/src/widgets/framework.dart:3685:15) I/flutter (28116): #732 SingleChildRenderObjectElement.update (пакет:flutter/src/widgets/framework.dart:6441:14) I/flutter (28116): #733 Element.updateChild (пакет: flutter/src/widgets/framework.dart:3685:15) I/flutter (28116): # 734 SingleChildRenderObjectElement.update (пакет: flutter/src/widgets/framework.dart:6441:14) I/flutter (28116): #735 Element.updateChild (пакет: flutter/src/widgets/framework.dart:3685:15) I/flutter (28116): #736 ComponentElement.performRebuild (пакет:flutter/src/widgets/framework.dart:5322:16) I/flutter (28116): #737 Element.rebuild (пакет:flutter/src/widgets/framework.dart:5016:7) I/flutter (28116): #738 ProxyElement.update (пакет:flutter/src/widgets/framework.dart:5628:5) I/flutter (28116): #739 Element.updateChild (пакет: flutter/src/widgets/framework.dart:3685:15) I/flutter (28116): #740 ComponentElement.performRebuild (пакет:flutter/src/widgets/framework.dart:5322:16) I/flutter (28116): #741 StatefulElement.performRebuild (пакет:flutter/src/widgets/framework.dart:5462:11) I/flutter (28116): #742 Element.rebuild (пакет:flutter/src/widgets/framework.dart:5016:7) I/flutter (28116): #743 BuildOwner.buildScope (пакет:flutter/src/widgets/framework.dart:2779:19) I/flutter (28116): #744 WidgetsBinding.drawFrame (пакет:flutter/src/widgets/binding.dart:916:21) I/flutter (28116): #745 RendererBinding._handlePersistentFrameCallback (пакет: flutter/src/rendering/binding.dart:360:5) I/flutter (28116): #746 SchedulerBinding._invokeFrameCallback (пакет: flutter/src/scheduler/binding.dart:1297:15) I/flutter (28116): #747 SchedulerBinding.handleDrawFrame (пакет: flutter/src/scheduler/binding.dart:1227:9) I/flutter (28116): #748 SchedulerBinding._handleDrawFrame (пакет: flutter/src/scheduler/binding.dart:1085:5) I/futter (28116): #749 _invoke (dart:ui/hooks.dart:170:13) Я/флаттер (28116): #750 PlatformDispatcher._drawFrame (dart:ui/platform_dispatcher.dart:401:5) I/futter (28116): #751 _drawFrame (dart:ui/hooks.dart:140:31) I/flutter (28116): (исключено 2 кадра из класса _AssertionError) Я/трепетание (28116): Я/трепетание (28116): ════════════════════════════════════ ═══════ ════════════════════════════════════════ ══════════ ═══════ I/flutter (28116): возникло еще одно исключение: в дереве виджетов обнаружен дубликат GlobalKey. I/futter (28116): было выдано еще одно исключение: Пытался собрать грязный виджет в неправильной области сборки. это мой файл main.dart

import 'package:b2b_wholesale/res/routes_manager.dart'; импортировать «пакет: b2b_wholesale/utils/navigation_service.dart»; импортировать «пакет: b2b_wholesale/view_model/cart_model/cart_model.dart»; импортировать «пакет: b2b_wholesale/view_model/categories_view_model/categories_view_model.dart»; импортировать «пакет: b2b_wholesale/view_model/home_view_model/home_view_model.dart»; импортировать «пакет: b2b_wholesale/view_model/login_view_model/login_view_model.dart»; импортировать «пакет: флаттер/материал.dart»; импортировать «пакет: flutter_native_splash/flutter_native_splash.dart»; импортировать «пакет: провайдер/провайдер.dart»; пустая функция() { WidgetsBinding widgetsBinding = WidgetsFlutterBinding.ensureInitialized(); FlutterNativeSplash.preserve(widgetsBinding: widgetsBinding); запустить приложение( МоеПриложение(), ); } класс MyApp расширяет StatelessWidget { const MyApp({super.key}); @переопределить Сборка виджета (контекст BuildContext) { вернуть Мультипровайдер( провайдеры: [ ChangeNotifierProvider( create: (контекст BuildContext) => LoginViewModel()), ChangeNotifierProvider( create: (контекст BuildContext) => HomeViewModel()), ChangeNotifierProvider( create: (контекст BuildContext) => CategoryViewModel()), ChangeNotifierProvider(create: (контекст BuildContext) => Cart()), ], дочерний элемент: MaterialApp( navigatorKey: NavigationService().navigationKey, debugShowCheckedModeBanner: ложь, начальныйRoute: Routes.splashRoute, onGenerateRoute: RoutesManager.getRoute, ), ); } } когда я удаляю ChangeNotifierProvider(create: (BuildContext context) => Cart()), вход в систему работает, но когда я перехожу на главный экран, он выдает ошибку, потому что я этого не сделал не помещаю провайдера в свой основной файл

это мой файл cart_model.dart

import 'package:flutter/material.dart'; класс CarItem { Идентификатор строки; Строковый заголовок; двойная цена; целое количество; Строковое имя бренда; Строковое изображение; Артикул струн; CarItem({ требуется this.id, требуется это.title, требуется эта.цена, требуется это количество, требуется это.изображение, требуется this.brandName, требуется этот.sku, }); void decrementQuantity() { если (количество > 0) { количество--; } } пустое приращениеКоличество () { количество++; } } класс Корзина с ChangeNotifier { недействительный ClearCart () { предметы.очистить(); уведомить слушателей(); } двойной getTotalPrice() { двойной итог = 0,0; for (элемент CartItem в товарах) { итого += товар.цена * товар.количество; } return double.parse(total.toStringAsFixed(2)); } int getProductQuantity (идентификатор строки) { int index = items.indexWhere((item) => item.id == id); если (индекс >= 0) { вернуть элементы[индекс].количество; } вернуть 0; } void updateItemQuantity (String sku, int newQuantity) { int index = items.indexWhere((item) => item.sku == sku); если (индекс >= 0) { элементы[индекс].количество = новоеКоличество; если (предметы[индекс].количество item.id == id); если (индекс != -1) { если (предметы[индекс].количество > 1) { предметы[индекс].количество--; } еще { items.removeAt(индекс); } уведомить слушателей(); } } voidcrementQuantity(String sku) { int index = items.indexWhere((item) => item.sku == sku); если (индекс != -1) { элементы[индекс].incrementQuantity(); уведомить слушателей(); } } void decrementQuantity(String sku) { int index = items.indexWhere((item) => item.sku == sku); если (индекс != -1) { элементы[индекс].decrementQuantity(); если (предметы[индекс].количество item.id == идентификатор); если (индекс >= 0) { int totalDesiredQuantity = элементы[индекс].количество + количество; если (totalDesiredQuantity
Ответить

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

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

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

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

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