sqlite eliminar la última fila de actualización no funciona

Tengo una opción de pulsación larga en mi vista de lista que eliminará la entrada db pulsada durante mucho tiempo. La eliminación realmente funciona. Si salgo de la aplicación y vuelvo a entrar, aparece mi mensaje "sin filas". Perfecto

En mi código, primero llamo al método DBadapter para eliminar una fila. Luego llamo a un método fetchallnotes en el dbadapter para actualizar mi vista de lista. Sin embargo, la última fila no desaparecerá en esta llamada de fetchallnotes. Solo en la llamada de fetchallnotes en mi onCreate.

Aquí está mi llamada al menú contextual que llama a mi método DBAdapter

db.deleteNote(info.id);
getSnapz();

Este es mi método my deleteNote en DBAdapter

public boolean deleteNote(long rowId) {
     return db.delete(DATABASE_TABLE, KEY_ROWID + "=" + rowId, null) > 0;
}

aquí está mi método getSnapz, que está en mi actividad Principal, que es donde está mi vista de lista

public void getSnapz(){
    try {
        Cursor c = db.fetchAllNotes();
        //requery cursor incase the last entry has been deleted
        c.requery();
        startManagingCursor(c);
        if(c.moveToFirst()){

        String[] from = new String[]{DBAdapter.KEY_TYPE,DBAdapter.KEY_WEIGHT,DBAdapter.KEY_DATE,DBAdapter.KEY_PLACE};
        int[] to = new int[]{R.id.typecol,R.id.weightcol,R.id.datecol,R.id.placecol};

        SimpleCursorAdapter simple = new SimpleCursorAdapter(this, R.layout.snapz_row, c, from, to);
        setListAdapter(simple);
        }

    } catch (Exception e) {
        Log.e(TAG,e.toString());
    }
}

Y aquí está mi método fetchAllNotes en DBAdapter

public Cursor fetchAllNotes() throws Exception{
    Cursor c = db.query(DATABASE_TABLE, new String[] {KEY_ROWID,KEY_URI, KEY_DATE,KEY_TYPE,KEY_WEIGHT,
            KEY_PLACE}, 
            null, null, null, null, null );

    return c;
}

Respuestas a la pregunta(1)

Su respuesta a la pregunta