class _BillDetailsWidgetState extends State<BillDetailsWidget> {
_BillDetailsWidgetState(
{this.qtyCount,
this.singleServicePrice,
this.itemsTotal,
this.totalPayablePrice});
int qtyCount = 10;
int singleServicePrice = 100;
int itemsTotal;
int totalPayablePrice = 0;
String cartPriceTotal() {
totalPayablePrice = qtyCount * singleServicePrice;
return totalPayablePrice.toString();
}
@override
Widget build(BuildContext context) {
return Container(
margin: EdgeInsets.only(top: 10.0),
color: Colors.white,
child: Container(
color: Colors.white,
padding:
EdgeInsets.only(top: 20.0, bottom: 20.0, left: 20.0, right: 20.0),
child: Column(
children: [
Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
Text(
'Bill Details:',
style: kTextStyle,
),
SizedBox(
height: 10,
),
Row(
mainAxisAlignment: MainAxisAlignment.spaceBetween,
children: [
Text(
'Item(s) Total',
style: kOtherTextStyle,
),
Text(
'249',
style: kOtherTextStyle,
),
],
),
Row(
mainAxisAlignment: MainAxisAlignment.spaceBetween,
children: [
Text(
'Safety & Conveyance Charges',
style: kOtherTextStyle,
),
Text(
'₹ 80',
style: kOtherTextStyle,
),
],
),
SizedBox(
height: 10,
),
Container(
height: 1,
color: Colors.grey,
),
Row(
mainAxisAlignment: MainAxisAlignment.end,
children: [
Text(
cartPriceTotal(),
style: kOtherTextStyle,
),
],
),
],
),
],
),
),
);
}
}
您必须在构造函数方法中而不是字段本身中设置默认值。否则,如果您没有在创建_BillDetailsWidgetState
构造函数的地方提供值,这些值将全部设置为null。当然,乘以null
值会导致错误。
dart prettyprint-override">class BillDetailsWidget extends StatefulWidget {
@override
State<StatefulWidget> createState() => _BillDetailsWidgetState();
}
在您的情况下,实际上就像是像这样调用状态构造函数:
class BillDetailsWidget extends StatefulWidget {
@override
State<StatefulWidget> createState() => _BillDetailsWidgetState(
qtyCount: null,
singleServicePrice: null,
itemsTotal: null,
totalPayablePrice: null,
);
}
因此,这解决了这个问题:
_BillDetailsWidgetState(
{this.qtyCount = 10,
this.singleServicePrice = 100,
this.itemsTotal,
this.totalPayablePrice = 0});
int qtyCount;
int singleServicePrice;
int itemsTotal;
int totalPayablePrice;
//... omitted for brevity
class BillDetailsWidget extends StatelessWidget {
final int qtyCount;
final int singleServicePrice;
const BillDetailsWidget({
Key key,
@required this.qtyCount,
@required this.singleServicePrice,
}) : assert(qtyCount != null),
assert(singleServicePrice != null),
super(key: key);
String cartPriceTotal() {
return (qtyCount * singleServicePrice).toString();
}
@override
Widget build(BuildContext context) {
// ... omitted for brevity
}
}
此错误“”getter'uid'在null上被调用。receiver:null尝试调用:uid“ 退出按钮: 控制台: widgets库捕获的异常接收者:null尝试调用:uid 相关的导致错误的小部件是:Qr file://g://androidstudioprojects/facem/lib/screens/home/home.dart:687:67当抛出异常时,这是堆栈:#0 object.
我试图使用API中的数据,但我需要的数据是为不同的请求找到的。在颤栗中有未来。通过这个,我可以请求API的必要部分。我的想法是,我正在努力为火车制定时间表。在这个列车时刻表中,我需要列车号、站台名和到达时间。我正在尝试按照文档和视频中所描述的方式执行所有操作,但我做不到,因为我遇到了一个错误 在这里提问之前,我试着做了这样的事情: 但是它不起作用,给我一个错误: 对null调用了方法“[]”。接收
错误:building Home抛出了以下NoSuchMethodError(脏,依赖项:[MediaQuery],state:_homestate#a6c1f):方法'>'是在null上调用的。接收者:null尝试调用:>(1)
我在使用Flutter注册电子邮件和密码时遇到了问题。我用它来注册新用户,它保存了他们的Firebase身份验证信息,但不会将任何配置文件数据保存到Firebase存储部分。我不确定我在这里做错了什么,我不明白为什么id是空的。一些帮助和指导将真的非常感谢! 这就是我犯的错误 这是来自用户的。飞奔 这是来自注册。飞奔 错误指向用户引用。文档行。 这是Timeline.dart 该错误指向这两个方法
每当我尝试使用firebase auth注册用户时,我的应用程序就会崩溃。我的代码如下:
我创建了一个接口,以便可以在对话和片段之间进行通信。 目标:当用户从对话框中选择任何内容时,应将其显示在文本视图中。 在这个界面中,我创建了一个界面方法,在主活动中调用,并传递用户在对话框中选择的值。与用户选择的值一起,在我的片段中,我创建了一个方法,将文本视图设置为该值。然而,每当我调用该方法时,它总是返回null。 我对日志进行了大量测试,发现通过我的方法传递的值不是空的,一切似乎都按照我想要