2017-04-21 23 views
-1

在我的android應用程序中,我需要檢查從java servlet返回的字符串,並相應地改變textview。如何比較在android中從servlet接收的字符串?

if(stat.equalsIgnoreCase("open")) { 
    tx = (TextView) findViewById(R.id.textView1); 
    tx.setText("getting"); 
} 
else { 
    tx = (TextView) findViewById(R.id.textView1); 
    tx.setText("not getting"); 
} 

其中「stat」是從服務器返回的字符串。雖然變量stat的值是「打開」,但控件進入else部分。當實際長度爲4時,stat.length()返回6.這是我如何從servlet接收我的響應。

final HttpEntity entity = response.getEntity(); 
stat = EntityUtils.toString(entity); 

有人可以解釋我哪裏會出錯嗎?

+0

也許有一些空格參與 – 2017-04-21 21:04:31

+0

「_stat.length()返回6時實際長度爲4_的」 Java是不是騙你這件事。它可能看起來像只有4個字符,但如果長度是6,那麼有6個字符。他們可能是空白的,他們可能在弦之前,他們可能在之後,但他們在那裏。 – csmckelvey

回答

0

嘗試使用「修剪」返回值。
例子:

if(stat.trim().equalsIgnoreCase("open")) 
    { 
     tx = (TextView) findViewById(R.id.textView1); 
     tx.setText("getting"); 
    } 
else { 
     tx = (TextView) findViewById(R.id.textView1); 
     tx.setText("not getting"); 
    }