所以我有一个Cursor,它从查询到应用程序数据库获得结果。我知道数据库中至少有一个正确的条目,因为我之前能够从行中检索字符串。
然后我改变了一些逻辑以适应结果,并在调用c.getString(0)时突然返回null。相关代码发布在下面。我是Android和Java的新手,所以我可能会遗漏一些导致问题的微妙之处。
Cursor c = context.getContentResolver().query(tempJobName.build(),
null, null, null, null);
for (c.moveToFirst(); c.isAfterLast() == false; c.moveToNext())
{
Log.w(TAG, c.getString(0));
if (c.getString(0).equalsIgnoreCase(jobName))
{
existed = true;
break;
}
}
答案 0 :(得分:1)
您可能想要添加更多详细信息。但是,由于您确实找到了一些记录,因此您的问题的解决方案很容易。你能用这个替换这一行吗? (表的第一列可能会改变:))
c.getString(0);
与
int columnIndex = c.getColumnIndex(COLUMN_NAME);// You could also use getcolumnIndexorThrow variant.
c.getString(columnIndex);
如果这不起作用,那么您的表没有该列。你只是咆哮着错误的树。