2010-08-10 58 views

回答

4

在做對象比較時,必須使用Object.equals(Object)方法。如果兩個對象都引用相同的東西,那麼在對象中使用==或!=只會返回true。這就是爲什麼你正在經歷其他問題。

name.equals(「」)可能是你想要使用的。 catch錯誤處理機制..代替IF ... ELSE -

if(name != null && !"".equals(name)) 
    tv.setText(name); 
else 
    tv.setText("Error"); 
-1

好Cptcecil

應用嘗試:

而且,事情就可能是最好的,如果你不喜歡的東西這方面的工作。

無論何時你會嘗試從空遊標讀取......它會拋出一個異常,你可以相應地捕獲並響應,而不會破壞你的應用程序。

感謝

+0

它會拋出什麼異常?原來他的代碼不會拋出異常。事實上,他可以將'tv.setText()'設置爲'null'或'''''並且不會拋出異常,電視將只是空的。 – Hamy 2010-08-10 04:24:08

1

我知道這是一個老問題,仍然貢獻,從而有一個替代的解決方案

如果您在烏爾行插入""同時更新,或插入下面提到的解決方案將工作空場的新紀錄。如果您在烏爾行插入null同時更新,或插入新記錄的空場(說的EditText)

if(name.length() > 0) 
    tv.setText(name); 
else 
    tv.setText("Error"); 

下面提到的解決方案會奏效。 或者如果沒有記錄行數據庫中已創建..

if(name != null) 
    tv.setText(name); 
else 
    tv.setText("Error"); 

數據庫把空單元作爲null如果不伊茨手動更新以後通過插入""或某些字符串值。

兩者都適合我。

相關問題