Android studio 如何在flatter中编写条件语句?

Android studio 如何在flatter中编写条件语句?,android-studio,dart,flutter,Android Studio,Dart,Flutter,我想学习如何在颤振代码中应用“if”条件?因为我不熟悉dart语言编码 假设在下面这样的代码中,我想添加一个条件,即如果计数器的值为1,则“您按下了按钮$\u计数器时间”,否则“您按下了按钮$\u计数器时间” 儿童:[ 新文本( '您已按下按钮$\计数器次数:', )/*, 新文本( “$”计数器“, 样式:Theme.of(context).textTheme.display1, ),*/ ] 另外,这只是一个简单的例子,让我了解如何在颤振中使用if条件。在我第一次尝试颤振时,我不知道dar

我想学习如何在颤振代码中应用“if”条件?因为我不熟悉dart语言编码

假设在下面这样的代码中,我想添加一个条件,即如果计数器的值为1,则“您按下了按钮$\u计数器时间”,否则“您按下了按钮$\u计数器时间”

儿童:[
新文本(
'您已按下按钮$\计数器次数:',
)/*,
新文本(
“$”计数器“,
样式: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;}