Android Java,非常简单的代码。但哪里出错了?

时间:2012-06-20 03:04:52

标签: android for-loop

我使用网络服务来获取价值,让长话短说。我可以从webservices获取值,对于这种情况,strVersion的值是1(for循环只返回1条记录,因为只有1条记录)。

现在问题是,结果总是返回“错误:1”而不是“OK:1”,有人请告诉我为什么? MYSQL中该字段的数据类型是Varchar。

    AndroidHttpTransport aht = new AndroidHttpTransport(URL);
    aht.call(SOAP_ACTION, soapEnvelope);
    SoapObject resultString = (SoapObject) soapEnvelope.getResponse();

    final String[] strVersion = new String[resultString.getPropertyCount()];

    for(int i =0; i<resultString.getPropertyCount(); i++)
    {
        SoapObject array = (SoapObject) resultString .getProperty(i);
        strVersion[i] = array.getProperty(0).toString();                    
        if(strVersion[i] == "1")
        {
        Toast.makeText(getApplicationContext(), "OK: " + strVersion[i], Toast.LENGTH_SHORT).show();
        }
        else
        {
             Toast.makeText(getApplicationContext(), "Wrong: " + strVersion[i], Toast.LENGTH_SHORT).show();
        }
    }

1 个答案:

答案 0 :(得分:4)

使用String进行equals()比较。

改变这个:

if(strVersion[i] == "1")

if(strVersion[i].equals("1"))

阅读this了解详情。

==比较参考,而不是值。在您的情况下,您要检查值相等,而不是引用相等。