MaterialLocalizations не найдены: виджеты MyApp требуют, чтобы MaterialLocalizations были предоставлены предком виджета ⇐ Android
-
Anonymous
MaterialLocalizations не найдены: виджеты MyApp требуют, чтобы MaterialLocalizations были предоставлены предком виджета
Я просто пытался создать приложение с кнопкой, которая отображает предупреждающее сообщение при нажатии кнопки.
Но это выдает мне эту ошибку (упоминается ниже).
Я написал этот код, взяв за основу это видео.
Я запускаю приложение на работающем телефоне Android с помощью adb Connect
Пожалуйста, помогите..!
Код
import 'package:flutter/material.dart'; пустая функция(){ запуститьApp(MyApp()); } класс MyApp расширяет StatelessWidget{ @переопределить Сборка виджета (контекст BuildContext) { вернуть MaterialApp( название: «Тест», дом: Эшафот( appBar: AppBar(title: Text("Тест")), тело: Контейнер( ребенок: Центр( дочерний элемент: RaisingButton( цвет: Colors.redAccent, textColor: Цвета.белый, onPressed: (){testAlert(context);}, дочерний элемент: Текст("PressMe"), ), ), ), ), ); } void testAlert (контекст BuildContext) { вар оповещение = AlertDialog( заголовок: Текст("Тест"), content: Text("Готово...!"), ); шоуДиалог( контекст: контекст, строитель: (контекст BuildContext){ возвратное оповещение; } ); } } Это код, который я написал. Я также пытался вставить содержимое функции testAlert() непосредственно в onPressed, но это не сработало.
Ошибка
Выполнение горячей перезагрузки... Синхронизация файлов с устройством ZUK Z2131... Перезагружено 0 из 419 библиотек за 1929 мс. I/futter (18652): ══╡ ИСКЛЮЧЕНИЕ, ПОЛУЧЕННОЕ ЖЕСТОМ ╞════════════════════════════ ═══════ ════════════════════════════════ I/futter (18652): при обработке жеста было выдано следующее утверждение: I/futter (18652): локализации материалов не найдены. I/flutter (18652): виджеты MyApp требуют, чтобы MaterialLocalizations были предоставлены предком виджета Localizations. I/flutter (18652): Локализации используются для создания множества различных сообщений, меток и сокращений, которые используются I/futter (18652): из библиотеки материалов. I/flutter (18652): Чтобы ввести MaterialLocalizations, либо используйте MaterialApp в корне вашего приложения, чтобы I/flutter (18652): включите их автоматически или добавьте виджет Localization с делегатом MaterialLocalizations. I/flutter (18652): Конкретный виджет, который не смог найти предка MaterialLocalizations, был: Я/флаттер (18652): MyApp I/futter (18652): Предками этого виджета были: Я/трепетание (18652): [корень] Я/трепетание (18652): I/flutter (18652): Когда было выброшено исключение, стек был таким: I/flutter (18652): #0 debugCheckHasMaterialLocalizations. (пакет:flutter/src/material/debug.dart:124:7) I/flutter (18652): # 1 debugCheckHasMaterialLocalizations (пакет: flutter/src/material/debug.dart:127:4) I/flutter (18652): #2 showDialog (пакет:flutter/src/material/dialog.dart:635:10) I/flutter (18652): #3 MyApp.testAlert (пакет: flutter_app/main.dart:33:5) I/flutter (18652): #4 MyApp.build. (пакет:flutter_app/main.dart:19:29) I/flutter (18652): #5 _InkResponseState._handleTap (пакет: flutter/src/material/ink_well.dart:507:14) I/flutter (18652): #6 _InkResponseState.build. (пакет:flutter/src/material/ink_well.dart:562:30) I/flutter (18652): #7 GestureRecouncer.invokeCallback (пакет: flutter/src/gestures/recouncer.dart:102:24) I/flutter (18652): #8 TapGestureRecouncer._checkUp (пакет: flutter/src/gestures/tap.dart:242:9) I/flutter (18652): #9 TapGestureRecouncer.handlePrimaryPointer (пакет: flutter/src/gestures/tap.dart:175:7) I/flutter (18652): # 10 PrimaryPointerGestureRecouncer.handleEvent (пакет: flutter/src/gestures/recouncer.dart:315:9) I/flutter (18652): # 11 PointerRouter._dispatch (пакет: flutter/src/gestures/pointer_router.dart:73:12) I/flutter (18652): # 12 PointerRouter.route (пакет: flutter/src/gestures/pointer_router.dart:101:11) I/flutter (18652): # 13 _WidgetsFlutterBinding&BindingBase&GestureBinding.handleEvent (пакет: flutter/src/gestures/binding.dart:180:19) I/flutter (18652): # 14 _WidgetsFlutterBinding&BindingBase&GestureBinding.dispatchEvent (пакет: flutter/src/gestures/binding.dart:158:22) I/flutter (18652): # 15 _WidgetsFlutterBinding&BindingBase&GestureBinding._handlePointerEvent (пакет: flutter/src/gestures/binding.dart:138:7) I/flutter (18652): # 16 _WidgetsFlutterBinding&BindingBase&GestureBinding._flushPointerEventQueue (пакет: flutter/src/gestures/binding.dart:101:7) I/flutter (18652): # 17 _WidgetsFlutterBinding&BindingBase&GestureBinding._handlePointerDataPacket (пакет: flutter/src/gestures/binding.dart:85:7) I/futter (18652): #18 _invoke1 (dart:ui/hooks.dart:168:13) Я/флаттер (18652): #19 _dispatchPointerDataPacket (dart:ui/hooks.dart:122:5) Я/трепетание (18652): I/futter (18652): Обработчик: onTap I/futter (18652): Распознаватель: I/futter (18652): TapGestureRecouncer#d5d82(debugOwner: GestureDetector, состояние: возможно, выиграна арена, FinalPosition: I/futter (18652): смещение (220,2, 406,1), отправлено нажатием вниз) Я/трепетание (18652): ═════════════════════════════════════ ══════ ═════════════════════════════════════════ ═════════ ═══════ W/ActivityThread(18652): handleWindowVisibility: нет активности для токена android.os.BinderProxy@59b4e8d I/ViewRootImpl(18652): VSync для рендеринга ЦП = true
Я просто пытался создать приложение с кнопкой, которая отображает предупреждающее сообщение при нажатии кнопки.
Но это выдает мне эту ошибку (упоминается ниже).
Я написал этот код, взяв за основу это видео.
Я запускаю приложение на работающем телефоне Android с помощью adb Connect
Пожалуйста, помогите..!
Код
import 'package:flutter/material.dart'; пустая функция(){ запуститьApp(MyApp()); } класс MyApp расширяет StatelessWidget{ @переопределить Сборка виджета (контекст BuildContext) { вернуть MaterialApp( название: «Тест», дом: Эшафот( appBar: AppBar(title: Text("Тест")), тело: Контейнер( ребенок: Центр( дочерний элемент: RaisingButton( цвет: Colors.redAccent, textColor: Цвета.белый, onPressed: (){testAlert(context);}, дочерний элемент: Текст("PressMe"), ), ), ), ), ); } void testAlert (контекст BuildContext) { вар оповещение = AlertDialog( заголовок: Текст("Тест"), content: Text("Готово...!"), ); шоуДиалог( контекст: контекст, строитель: (контекст BuildContext){ возвратное оповещение; } ); } } Это код, который я написал. Я также пытался вставить содержимое функции testAlert() непосредственно в onPressed, но это не сработало.
Ошибка
Выполнение горячей перезагрузки... Синхронизация файлов с устройством ZUK Z2131... Перезагружено 0 из 419 библиотек за 1929 мс. I/futter (18652): ══╡ ИСКЛЮЧЕНИЕ, ПОЛУЧЕННОЕ ЖЕСТОМ ╞════════════════════════════ ═══════ ════════════════════════════════ I/futter (18652): при обработке жеста было выдано следующее утверждение: I/futter (18652): локализации материалов не найдены. I/flutter (18652): виджеты MyApp требуют, чтобы MaterialLocalizations были предоставлены предком виджета Localizations. I/flutter (18652): Локализации используются для создания множества различных сообщений, меток и сокращений, которые используются I/futter (18652): из библиотеки материалов. I/flutter (18652): Чтобы ввести MaterialLocalizations, либо используйте MaterialApp в корне вашего приложения, чтобы I/flutter (18652): включите их автоматически или добавьте виджет Localization с делегатом MaterialLocalizations. I/flutter (18652): Конкретный виджет, который не смог найти предка MaterialLocalizations, был: Я/флаттер (18652): MyApp I/futter (18652): Предками этого виджета были: Я/трепетание (18652): [корень] Я/трепетание (18652): I/flutter (18652): Когда было выброшено исключение, стек был таким: I/flutter (18652): #0 debugCheckHasMaterialLocalizations. (пакет:flutter/src/material/debug.dart:124:7) I/flutter (18652): # 1 debugCheckHasMaterialLocalizations (пакет: flutter/src/material/debug.dart:127:4) I/flutter (18652): #2 showDialog (пакет:flutter/src/material/dialog.dart:635:10) I/flutter (18652): #3 MyApp.testAlert (пакет: flutter_app/main.dart:33:5) I/flutter (18652): #4 MyApp.build. (пакет:flutter_app/main.dart:19:29) I/flutter (18652): #5 _InkResponseState._handleTap (пакет: flutter/src/material/ink_well.dart:507:14) I/flutter (18652): #6 _InkResponseState.build. (пакет:flutter/src/material/ink_well.dart:562:30) I/flutter (18652): #7 GestureRecouncer.invokeCallback (пакет: flutter/src/gestures/recouncer.dart:102:24) I/flutter (18652): #8 TapGestureRecouncer._checkUp (пакет: flutter/src/gestures/tap.dart:242:9) I/flutter (18652): #9 TapGestureRecouncer.handlePrimaryPointer (пакет: flutter/src/gestures/tap.dart:175:7) I/flutter (18652): # 10 PrimaryPointerGestureRecouncer.handleEvent (пакет: flutter/src/gestures/recouncer.dart:315:9) I/flutter (18652): # 11 PointerRouter._dispatch (пакет: flutter/src/gestures/pointer_router.dart:73:12) I/flutter (18652): # 12 PointerRouter.route (пакет: flutter/src/gestures/pointer_router.dart:101:11) I/flutter (18652): # 13 _WidgetsFlutterBinding&BindingBase&GestureBinding.handleEvent (пакет: flutter/src/gestures/binding.dart:180:19) I/flutter (18652): # 14 _WidgetsFlutterBinding&BindingBase&GestureBinding.dispatchEvent (пакет: flutter/src/gestures/binding.dart:158:22) I/flutter (18652): # 15 _WidgetsFlutterBinding&BindingBase&GestureBinding._handlePointerEvent (пакет: flutter/src/gestures/binding.dart:138:7) I/flutter (18652): # 16 _WidgetsFlutterBinding&BindingBase&GestureBinding._flushPointerEventQueue (пакет: flutter/src/gestures/binding.dart:101:7) I/flutter (18652): # 17 _WidgetsFlutterBinding&BindingBase&GestureBinding._handlePointerDataPacket (пакет: flutter/src/gestures/binding.dart:85:7) I/futter (18652): #18 _invoke1 (dart:ui/hooks.dart:168:13) Я/флаттер (18652): #19 _dispatchPointerDataPacket (dart:ui/hooks.dart:122:5) Я/трепетание (18652): I/futter (18652): Обработчик: onTap I/futter (18652): Распознаватель: I/futter (18652): TapGestureRecouncer#d5d82(debugOwner: GestureDetector, состояние: возможно, выиграна арена, FinalPosition: I/futter (18652): смещение (220,2, 406,1), отправлено нажатием вниз) Я/трепетание (18652): ═════════════════════════════════════ ══════ ═════════════════════════════════════════ ═════════ ═══════ W/ActivityThread(18652): handleWindowVisibility: нет активности для токена android.os.BinderProxy@59b4e8d I/ViewRootImpl(18652): VSync для рендеринга ЦП = true
Мобильная версия