的Android双倍返还
http://imgur.com/DzTRV2D的Android双倍返还
在Android应用程序,我有这样的代码下面
private boolean isSpinnerNotChoose(Spinner spinner)
{
if(spinner.getSelectedItem().toString().equals(""))
{
return false;
}
return true;
}
但即使条件是完成了它返回FALSE,后来反正debbugger先进入多次尝试后继续回真(如果有东西在括号后面被跳过,但是返回true总会被完成,链接是图片如何完成后的样子。
任何人都可以回答我这种情况吗?
在此先感谢:)
更好地使用布尔值并返回布尔值一次。
布尔值初始设置为true。
如果不匹配,它将保持为true。
如果匹配,它将更改为false。
然后返回布尔值(如果没有匹配发生则为true,如果匹配则返回false)。
没有鬼反应。
我还添加了一个trim()
,以删除最终的尾随空格。
尝试:
private boolean isSpinnerNotChoose(Spinner spinner)
{
boolean myValue = true; // default return value
if(spinner.getSelectedItem().toString().trim().equals(""))
{
myValue = false;
}
return myValue; // return once and for all
}
它甚至发生与其他声明。如果我像你一样做了它的工作,但如果它是返回声明它不应该立即返回? – 2014-11-20 19:59:23
也许这个字符串不是“”。尝试**修剪它,去掉最终的尾随空格。 – 2014-11-20 20:00:37
该字符串是“”,因为它通过语句和它的内部输入,但如果在返回true之后它总是返回false并且不理解为什么。 – 2014-11-20 20:03:37
我记得我的Eclipse调试器击中步骤步进直通代码的时候,尤其是返回statemens /右括号是'实际上不是executed'。只需验证你的代码返回正确的值(通过在调用和结果的方法上放置断点)并忽略不正确的可视化调试步骤。 – kiruwka 2014-11-20 20:04:55
嗯,你有权利 - 清理项目后,其显示步骤'返回true',但后来它的返回false无论如何:)谢谢你也:) – 2014-11-20 20:15:48