我正在尝试构建从用户那里获取值并提醒他是否血压高、低或正常的函数,所以,我这样做了
void preesureRanges(double sysValue, double diaValue) {
String text = "";
if (sysValue >= 120 &&
sysValue <= 130 &&
diaValue >= 80 &&
diaValue <= 90) {
text = ("معدل ضغط الدم في الجسم طبيعي");
} else if (sysValue < 120 && diaValue < 80) {
text =
("معدل ضغط الدم منخفض \nالرجاء تناول طعام مالح وشرب كمية كافية من الماء ");
} else if (sysValue > 130 && diaValue > 90) {
text = ("معدل ضغط الدم مرتفع ");
}
showDialog<void>(
context: context,
builder: (BuildContext context) {
return AlertDialog(
content: Text(
text,
),
actions: <Widget>[
Buttons(
height: 35,
width: 100,
text: 'اغلاق',
onPressed: () => Navigator.pop(context)),
],
);
},
);
}
但未显示警报对话框我尝试调用该方法并且该方法正常工作 之后,我尝试进行更改,并将警报的调用放入 if 中
void preesureRanges(double sysValue, double diaValue) {
String text = "";
if (sysValue >= 120 &&
sysValue <= 130 &&
diaValue >= 80 &&
diaValue <= 90) {
showDialog<void>(
context: context,
builder: (BuildContext context) {
return AlertDialog(
content: Text(
"معدل ضغط الدم في الجسم طبيعي",
),
actions: <Widget>[
Buttons(
height: 35,
width: 100,
text: 'اغلاق',
onPressed: () => Navigator.pop(context)),
],
);
},
);
text = ("معدل ضغط الدم في الجسم طبيعي");
} else if (sysValue < 120 && diaValue < 80) {
text =
("معدل ضغط الدم منخفض \nالرجاء تناول طعام مالح وشرب كمية كافية من الماء ");
} else if (sysValue > 130 && diaValue > 90) {
text = ("معدل ضغط الدم مرتفع \nالرجاء مدري والله ايش المفروض تسوي ");
}
showDialog<void>(
context: context,
builder: (BuildContext context) {
return AlertDialog(
content: Text(
text,
),
actions: <Widget>[
Buttons(
height: 35,
width: 100,
text: 'اغلاق',
onPressed: () => Navigator.pop(context)),
],
);
},
);
}
但这里只有第一种情况显示警报,我也尝试过但在每种情况下都调用警报但没有显示任何内容
onPreesed: () {
preesureRanges(upPressure, downPressure, context);
Navigator.of(context).pop();
},
这里是调用方法,这个 onPressed 用于 RaisedButton,我把它放在 Bottom Sheet 里面,这是我传递给我的函数的值
double upPressure;
String upPree;
double downPressure;
String downPree;
这些 onChanged 函数属于我在底部工作表中的 textFormFiled
onChanged: (newPrusser) {
upPree = newPrusser;
upPressure = double.parse(upPree);
},
onChanged: (newPrusser) {
downPree = newPrusser;
downPressure = double.parse(downPree);
},
答案 0 :(得分:2)
在这里发现错误:
onPreesed: () {
preesureRanges(upPressure, downPressure, context);
Navigator.of(context).pop();
},
您已将 Navigator.of(context).pop()
叫到这里。评论它,你会看到它有效。