我想做多供应商。我不知道错误在哪里。我是个新手。试着自己去修,但修不好。当我运行项目时,它卡在错误屏幕上。我把问题附在照片上。
此图显示模拟器上的错误显示
这是我的主要代码。飞镖锉
import 'package:firebase_core/firebase_core.dart';
import 'package:flutter/material.dart';
import 'package:provider/provider.dart';
import 'package:vendorapp/providers/auth_providers.dart';
import 'package:vendorapp/screens/homescreen.dart';
import 'package:vendorapp/screens/registerscreen.dart';
import 'package:vendorapp/screens/splashscreen.dart';
void main() async {
//Provider.debugCheckInvalidValueType = null;
WidgetsFlutterBinding.ensureInitialized();
await Firebase.initializeApp();
runApp( MultiProvider(
providers:[
Provider (create: (_) => AuthProvider()),
],
child: MyApp(),
)
);
}
class MyApp extends StatelessWidget {
const MyApp({key}) : super(key: key);
@override
Widget build(BuildContext context) {
return MaterialApp(
debugShowCheckedModeBanner: false,
theme: ThemeData(
primaryColor: Colors.greenAccent,
fontFamily: 'Poppins',
),
initialRoute: SplashScreen.id,
routes: {
SplashScreen.id: (context) => SplashScreen(),
RegisterScreen.id: (context) => RegisterScreen(),
HomeScreen.id: (context) => HomeScreen(),
},
);
}
}
这是我的图像选择器。飞镖锉
import 'dart:io';
import 'package:flutter/foundation.dart';
import 'package:flutter/material.dart';
import 'package:image_picker/image_picker.dart';
import 'package:provider/provider.dart';
import 'package:vendorapp/providers/auth_providers.dart';
class ShopPicCard extends StatefulWidget {
const ShopPicCard({Key? key}) : super(key: key);
@override
_ShopPicCardState createState() => _ShopPicCardState();
}
class _ShopPicCardState extends State<ShopPicCard> {
@override
Widget build(BuildContext context) {
final _authData = Provider.of<AuthProvider>(context);
File? _image;
return Padding(
padding: const EdgeInsets.all(20.0),
child: InkWell(
onTap: (){
_authData.getImage().then((image){
setState(() {
_image = image;
});
if(image!=null){
_authData.isPicAvail = true;
}
});
},
child: SizedBox(
height: 150,
width: 150,
child: Card(
child: _image == null ? Center(child: Text('Add Shop Image',
style: TextStyle(color: Colors.greenAccent),)
):Image.file(_image!,fit: BoxFit.fill,),
),
),
),
);
}
}
```
Here are the error Logs
在Android上启动lib\main.dartSDK在调试模式下为x86构建...运行Gradle任务'assembleDebug'...参数格式不正确-√构建\app\输出\flutter-apk\app-debug.apk.安装构建\app\输出\flutter-apk\app.apk.... D/FlutterLocationService(27889):创建服务。D/FlutterLocationService(27889):绑定到位置服务。D/LocationPlugin(27889):连接的服务:ComponentInfo{com.example.vendorapp/com.lyokone.location.FlutterLocationService}D/EGL_emulation(27889):eglMakeCurrent:0x9e705ea0:ver 2 0(tinfo 0x9e703810)调试服务监听ws://127.0.0.1:58245/8VdeXtRD7tk=/ws将文件同步到为x86构建的设备AndroidSDK...I/zygote(27889):进行部分代码缓存收集,代码=29KB,数据=21KB I/zygote(27889):代码缓存收集后,代码=29KB,数据=21KB I/zygote(27889):将代码缓存容量增加到128KB D/EGL_emulation(27889):eglMakeCurrent:0x9e6909e0:ver 2 0(tinfo 0x9e7036a0)
======== 被小部件库捕获的异常 ======================================================= 以下断言被抛出构建ShopPicCard(脏的,依赖项:[_InheritedProviderScope],状态:_ShopPicCardState#396e1):尝试使用Provider与Listable/Stream的子类型(Authder)。
这可能是一个错误,因为在AuthProvider更新时Provider不会自动更新依赖项。相反,请考虑更改Provider以实现处理更新机制的更具体的实现,例如:
或者,如果您正在创建自己的提供程序,请考虑使用InheritedProvider。
如果您认为这不是错误,您可以通过在主文件中将Provider.debugCheckInvalidValueType设置为null
来禁用此检查:
void main() {
Provider.debugCheckInvalidValueType = null;
runApp(MyApp());
}
The relevant error-causing widget was:
ShopPicCard file:///C:/Users/The%20Cubix/StudioProjects/vendorapp/lib/screens/registerscreen.dart:15:15
When the exception was thrown, this was the stack:
#0 Provider.debugCheckInvalidValueType.<anonymous closure>.<anonymous closure> (package:provider/src/provider.dart:376:9)
#1 Provider.debugCheckInvalidValueType.<anonymous closure> (package:provider/src/provider.dart:403:6)
#2 new Provider.<anonymous closure> (package:provider/src/provider.dart:215:56)
#3 _CreateInheritedProviderState.value.<anonymous closure> (package:provider/src/inherited_provider.dart:700:48)
#4 _CreateInheritedProviderState.value (package:provider/src/inherited_provider.dart:702:10)
...
====================================================================================================
======== Exception caught by rendering library =====================================================
The following assertion was thrown during layout:
A RenderFlex overflowed by 99203 pixels on the bottom.
The relevant error-causing widget was:
Column file:///C:/Users/The%20Cubix/StudioProjects/vendorapp/lib/screens/registerscreen.dart:13:18
The overflowing RenderFlex has an orientation of Axis.vertical.
The edge of the RenderFlex that is overflowing has been marked in the rendering with a yellow and black striped pattern. This is usually caused by the contents being too big for the RenderFlex.
Consider applying a flex factor (e.g. using an Expanded widget) to force the children of the RenderFlex to fit within the available space instead of being sized to their natural size.
This is considered an error condition because it indicates that there is content that cannot be seen. If the content is legitimately bigger than the available space, consider clipping it with a ClipRect widget before putting it in the flex, or using a scrollable container rather than a Flex, like a ListView.
The specific RenderFlex in question is: RenderFlex#17888 relayoutBoundary=up2 OVERFLOWING
... parentData: offset=Offset(0.0, 0.0) (can use size)
... constraints: BoxConstraints(0.0<=w<=411.4, 0.0<=h<=796.6)
... size: Size(411.4, 796.6)
... direction: vertical
... mainAxisAlignment: start
... mainAxisSize: max
... crossAxisAlignment: center
... verticalDirection: down
child 1: RenderErrorBox#69883
parentData: offset=Offset(0.0, 0.0); flex=null; fit=null (can use size)
constraints: BoxConstraints(0.0<=w<=411.4, 0.0<=h<=Infinity)
size: Size(411.4, 100000.0)
◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤
====================================================================================================
在main
方法和runApp
调用中。尝试替换
Provider(create: (_) => AuthProvider()),
与适当的提供商。
如果AuthProvider
是流
,请使用StreamProvider
StreamProvider(create: (_) => AuthProvider()),
如果AuthProvider
是ChangeNotifier
,请使用ChangeNotifierProvider
:
ChangeNotifierProvider(create: (_) => AuthProvider()),
如果AuthProvider
是另一种类型的可列出对象(我无法从您提供的代码中分辨出来),请尝试用正确的类型(ListenableProvider
或ValueListenableProvider
)替换Provider
)。
本文向大家介绍F# 使用CSV类型提供程序,包括了F# 使用CSV类型提供程序的使用技巧和注意事项,需要的朋友参考一下 示例 给定以下CSV文件: 您可以使用以下脚本读取数据:
问题内容: 我正在编写要与Azure Worker角色一起使用的F#。我希望类将连接字符串a作为参数。我创建一个数据库连接 但是dbSchema是一种类型,因此无法将其嵌入到我的类中(另一种类型)。我可以创建两个单独的模块,一个与数据库连接,另一个与我的课程 但是,如何在类的构造函数中使用connectionString创建连接? 问题答案: SQL数据库的类型提供程序将连接字符串用于两个不同的目
我正在尝试使用StreamProvider使firestore文档流中的数据在我的应用程序中可用。这是一个食谱应用程序,这是购物清单。 我有一个模型RecipeItem,其中包含关于食谱中项目的详细信息。这个文件保存一个数组,称为列表,包含列表中每个项目的映射。 下面是我与firestore的连接并设置流。我尝试获取文档,然后使用用户映射为列表中的每个项目创建RecipeItem实例。方法如下:
我想通过以下方式使用GSON. fromJSON: 但我在第二行遇到编译错误。如何推断以下行的返回类型?我知道在上述情况下,它将是Abc类型的。但我想根据类型变量中指定的内容使其成为动态的。我该怎么做?
我在gradle文件中设置了两种构建类型:和。我希望能够为构建类型设置不同的应用程序图标。有没有办法只通过构建类型实现这一点,而不涉及产品风格?建筑gradle文件如下。
我不熟悉泛型,并且深入研究了一些基本上超出我知识范围的东西,所以请耐心听我说。也许我问的问题很傻,但我似乎无法找到一个明确的答案来说明我希望做的事情是否可行,也许是因为我不知道要寻找的正确术语。 我有两个Java类,它们由一个T类型的实体参数化——一个存储库和一个服务。由于我的所有存储库和所有服务都将执行一些相同的基本任务,因此我的通用repo和服务已经实现了上述任务,并通过受保护的功能将它们提供