我在崩潰報告中收到此錯誤,但無法弄清楚它的含義。我認爲它是因爲我說如果我的光標爲空則返回-1。這會導致崩潰。但我不確定爲什麼我的光標會爲空?我的DB類中的這個方法在我的一個活動的onResume中被調用。在onCreate中調用它會更好嗎(這種方式只能調用一次)?android.database.CursorIndexOutOfBoundsException:請求索引-1,大小爲0
public int getLastId() {
String[] columns = new String[]{KEY_ROWID, KEY_NAME, KEY_LEVEL, KEY_MONEY, KEY_DAYSLEFT, KEY_VOTES, KEY_CORRUPTION};
Cursor c = ourDatabase.query(DATABASE_TABLE, columns,null , null, null, null, null);
if(c != null){
c.moveToLast();
int id = c.getInt(0);
return id;
}
return -1;
}
這段代碼會更好嗎?
public int getLastId() throws SQLException{
String[] columns = new String[]{KEY_ROWID, KEY_NAME, KEY_LEVEL, KEY_MONEY, KEY_DAYSLEFT, KEY_VOTES, KEY_CORRUPTION};
Cursor c = ourDatabase.query(DATABASE_TABLE, columns,null , null, null, null, null);
if(c != null){
c.moveToLast();
int id = c.getInt(0);
return id;
}
return 0;
}
我會嘗試。我仍然應該保持默認返回-1? – user3812501
@ user3812501如果表爲空,它取決於你想要的內容。 –