Method invocation produzieren kann java NullpointerException
Ich habe einen 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;
}
und Im immer eine Warnung
Warning:(173, 45) Method invocation 'mCursor.getColumnIndex("name")' may produce 'java.lang.NullPointerException'
Wie ich es beheben kann pls?
InformationsquelleAutor der Frage Raddino | 2014-12-23
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ihren cursor kann nicht
null
es wird immer Wert haben. Aber cursor kann leer sein, so sollten Sie zunächst gehen, um die erste Zeile im cursor mit der MethodemoveToFirst()
und wenn es zurücktrue
- es bedeutet, dass der cursor hat mindestens eine Zeile, so können Sie mit Sie alles, was Sie wollen, wenn Sie gibtfalse
- es bedeutet, dass es nichts für die Abfrage ein, so haben Sie nicht alle Zeilen abrufen von Daten aus. Ihr code sollte wie folgt Aussehen:InformationsquelleAutor der Antwort Orest Savchak
Lösung 1: Da sind Sie hart codieren, SQL, warum nicht schwer code der index
Lösung 2:
getColumnIndexOrThrow Methode wirft IllegalArgumentException, falls die Spalte nicht vorhanden ist.
Lösung 1 ist schneller und einfacher.
InformationsquelleAutor der Antwort kamoor