2010-08-10 71 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如果不伊茨手动更新以后通过插入""或某些字符串值。

两者都适合我。