Android studio 如何在flatter中编写条件语句?
我想学习如何在颤振代码中应用“if”条件?因为我不熟悉dart语言编码 假设在下面这样的代码中,我想添加一个条件,即如果计数器的值为1,则“您按下了按钮$\u计数器时间”,否则“您按下了按钮$\u计数器时间”Android studio 如何在flatter中编写条件语句?,android-studio,dart,flutter,Android Studio,Dart,Flutter,我想学习如何在颤振代码中应用“if”条件?因为我不熟悉dart语言编码 假设在下面这样的代码中,我想添加一个条件,即如果计数器的值为1,则“您按下了按钮$\u计数器时间”,否则“您按下了按钮$\u计数器时间” 儿童:[ 新文本( '您已按下按钮$\计数器次数:', )/*, 新文本( “$”计数器“, 样式:Theme.of(context).textTheme.display1, ),*/ ] 另外,这只是一个简单的例子,让我了解如何在颤振中使用if条件。在我第一次尝试颤振时,我不知道dar
儿童:[
新文本(
'您已按下按钮$\计数器次数:',
)/*,
新文本(
“$”计数器“,
样式:Theme.of(context).textTheme.display1,
),*/
]
另外,这只是一个简单的例子,让我了解如何在颤振中使用if条件。在我第一次尝试颤振时,我不知道dart语言是什么,但在浏览了一些之后,我发现了有用的文档。你可以在那里找到你想要的任何东西,包括你询问的if语句。但是我可以告诉你,if语句的工作原理与任何其他语言(如JavaScript、Java等)相同 编辑:这里我给你一些例子,如何在颤振中使用它
Future<Null> toTheHomeScreen() async {
await _signInWithGoogle();
SharedPreferences sprefs = await SharedPreferences.getInstance();
if (sprefs.getString('idToken').isNotEmpty) {
new Future.delayed(new Duration(seconds: 3), () {
new CircularProgressIndicator();
Navigator.of(context).push(
new MaterialPageRoute(
builder: (BuildContext context) {
return new HomeScreen();
}
)
);
});
} else {
Navigator.of(context).pop();
}
Future to主屏幕()异步{
用谷歌()等待登录;
SharedReferences sprefs=等待SharedReferences.getInstance();
if(sprefs.getString('idToken').isNotEmpty){
新的未来。延迟(新的持续时间(秒:3),(){
新的循环压缩机指示器();
导航器.of(上下文).push(
新材料路线(
生成器:(BuildContext上下文){
返回新的主屏幕();
}
)
);
});
}否则{
Navigator.of(context.pop();
}
}
if语句检查SharedRef中是否存储了名为“idToken”的密钥,如果该密钥不是空的,用户将重定向到主页
我希望这将对您有所帮助。对于这种简单的情况,您可以使用三元if
?:
内部字符串插值:
new Text(
'You have pushed the button $_counter time${_counter != 1 ? 's' : ''}:',
)
对于只有一个条件的情况,可以使用基本三元运算符
child: Text(
'{fee=="FREE"?"Free":fee}',
),
但如果您有多个条件或值需要从listview中的索引位置进行比较(即,您必须获取值,然后需要放入条件),那么您可以在小部件中添加方法作为文本值,如下所示:
child: Text(
'${checkForPrice(index)}',
),
),
checkForPrice(int index) {
String strFee = data['payload']['webinar'][index]['fee'];
String finalFee = "";
if (strFee == "FREE") {
finalFee = 'FREE';
} else {
finalFee = '\$ ${data['payload']['webinar'][index]['fee']}';
}
return finalFee;}
这肯定会帮助您显示具有多种条件的数据。什么代码,什么条件?请提供一个具体的例子。寻求调试帮助的问题(“为什么此代码不起作用?”)必须包括所需的行为、特定的问题或错误以及在问题本身中重现它所需的最短代码。没有明确问题陈述的问题对其他读者没有用处。请参阅:我所需要的只是颤振中“if”条件的语法。根据具体情况,有几种方法可以做到这一点,因此需要一个或多个具体示例。我建议在提出具体问题之前阅读更多关于Dart语言的内容。以多个错误开始,例如预期为类成员,预期为查找“;”,等等,我不知道要添加什么和排除什么!很抱歉,在您第一次发表评论后,我查看了代码10次,但没有看到它。我有一个
:
而不是?
。我更新了我的答案。不要抱歉,我的声誉已经因为模棱两可的问题而下降了!即使改变了,错误仍然存在。我需要更多的信息。我无法想象这与我发布的代码有关。你能给你的问题添加一个屏幕截图,上面有错误和导致错误的代码吗?
child: Text(
'${checkForPrice(index)}',
),
),
checkForPrice(int index) {
String strFee = data['payload']['webinar'][index]['fee'];
String finalFee = "";
if (strFee == "FREE") {
finalFee = 'FREE';
} else {
finalFee = '\$ ${data['payload']['webinar'][index]['fee']}';
}
return finalFee;}