I have a code:
public String getNameUpdateEvent(long id) {
Cursor mCursor =
db.rawQuery("select name from events WHERE _id=" + id + ";", null);
if (mCursor != null) {
mCursor.moveToFirst();
}
String updateNameEvent;
updateNameEvent = mCursor.getString(mCursor.getColumnIndex("name"));
return updateNameEvent;
}
and I´m getting a warning
Warning:(173, 45) Method invocation 'mCursor.getColumnIndex("name")' may produce 'java.lang.NullPointerException'
How i can fix it pls?
Your cursor can not be null
, it will always have any value. But cursor can be empty, so you should firstly go to first row in cursor with method moveToFirst()
, and if it returns true
- it means, that cursor has at least one row, so you can do with it all you want, if it returns false
- it means, that there is nothing for your query, so you have not any rows to get data from. Your code should look like this:
public String getNameUpdateEvent(long id) {
Cursor mCursor =
db.rawQuery("select name from events WHERE _id=" + id + ";", null);
String updateNameEvent = null;
if (mCursor != null && mCursor.moveToFirst()) {
updateNameEvent = mCursor.getString(mCursor.getColumnIndex("name"));
}
return updateNameEvent;
}