“如果”条件永远不会转到 android 中的 Else

Posted

技术标签:

【中文标题】“如果”条件永远不会转到 android 中的 Else【英文标题】:"if'" condition never Go to the Else in android 【发布时间】:2015-10-11 21:53:15 【问题描述】:

我一直在尝试运行这段代码,但条件结果永远不会去 else ,即使我的 slat 的值为 0.0

public void keLogin()
    if(slat.equals("0.0")) 
        Toast.makeText(getBaseContext(),"pls wait until we know your location",Toast.LENGTH_LONG).show();
     else 
        Intent keLogin = new Intent(getApplicationContext(), Login_Activity.class);
        keLogin.putExtra("slat", slat);
        keLogin.putExtra("slong", slong);
        startActivity(keLogin);
    

【问题讨论】:

你知道真相是真的。 即使我的 slat 的值为 0.0。当 slat 的值为 0.0 时,它只会转到 if part 或者我错过了什么...:/ @DroidDev ..你没有:-p 你是对的,为什么“即使我的 slat 的值为 0.0”也会被执行。 slat 是字符串,我将我的 'slat' 更改为另一个值,结果仍然永远不会更改为 else 。 . 【参考方案1】:

如果salt 不是字符串变量:那么你应该转换它 如果它是一个字符串变量:

    也许您的应用不会更改该变量 或该变量未达到“0.0”

在第一个选项中,您必须添加一些代码来更改该值 在第二个选项中,您必须将“0.0”更改为可访问的值

【讨论】:

您需要更多帮助吗?【参考方案2】:

尝试使用

if(slat.equalsIgnoreCase("0.0")  

可能会起作用。

【讨论】:

【参考方案3】:
public void keLogin()
if(!slat.equals("0.0")) 
    Toast.makeText(getBaseContext(),"pls wait until we know your location",Toast.LENGTH_LONG).show();
 else 
    Intent keLogin = new Intent(getApplicationContext(), Login_Activity.class);
    keLogin.putExtra("slat", slat);
    keLogin.putExtra("slong", slong);
    startActivity(keLogin);


【讨论】:

以上是关于“如果”条件永远不会转到 android 中的 Else的主要内容,如果未能解决你的问题,请参考以下文章

Android运行时权限中永远不会显示“不再询问”复选框

除非在 [重复] 之前打印条件,否则不会调用 if 语句

for循环中的错误1004如何转到下一个函数[重复]

Android onSystemUiVisibilityChange 永远不会被调用

如何杀掉 android 如何跳转到 main activity

onLocationChanged() 永远不会由 requestLocationUpdates() 触发 - Android