如何检查Cursor的空值?

时间:2014-09-14 18:56:45

标签: android android-cursor isnull

我需要检查列值是否为null。 documentation saysisNull returns TRUE if the value in the indicated column is null.所以,我正在尝试在代码中实现它:

if (c.isNull(c.getColumnIndex("description")))
            description.setText("The column is null");
        else
            description.setText(c.getString(c.getColumnIndex("description")));

但即使列是空的,我也不会在条件中得到true。为什么会这样?

感谢。

2 个答案:

答案 0 :(得分:1)

int index = c.getColumnIndex("description");
String str = c.getString(index);
if (str == null || str.isEmpty() || str.equalsIgnoreCase("null")) {
    description.setText("Empty!");
} else {
    description.setText(str);
}

答案 1 :(得分:-1)

getColumnIndex(String columnName)

返回给定列名的从零开始的索引,如果列不存在,则返回-1。

当列为空时,getColumnIndex(String columnName)返回-1,而isNull为-1则不为真