2011-03-10 73 views
0

我有一個條件,如果在TextView的校驗值,但它仍然只發生在其他條件校驗值

我做錯了什麼,爲什麼它沒有,如果即使我已經設置LANG =空間條件

private void setLangTitle() { 
    lang.setText(" "); 
    db.open(); 
    Cursor cc = db.getLangAct(); 
    cc.moveToFirst(); 
    int index = cc.getColumnIndex(DBAdapter.KEY_LANG); 
    while (cc.isAfterLast() == false) { 

     if(lang.equals(" ")){ 
      lang.append("p"+cc.getString(index)); 
      cc.moveToNext(); 
     } 
     else { 
      lang.append("/" + cc.getString(index)); 
      cc.moveToNext(); 
     } 
    } 
    db.close(); 
} 

回答

5

您正在檢查lang是否等於一個空格字符。如果lang是TextView,則它不會等於空格字符,因爲它是TextView對象,而不是字符串。你可能想測試,如果文本是顯示lang等於空格字符,這將是沿着線的東西:

if (lang.getText().toString().equals(" ")) { 
    ... 
} 
1

你應該使用

if(lang.getText()equals(" ")){ 
    ... 
} 

你不是比較文本,你是比較對象。而且,當然,TextView不會(不應該)比較等於一個字符串。

2

我認爲lang是你的TextView對象?那麼你應該使用lang.getText().toString()