Spinner poblado de la base de datos SQLite de Android

Estoy intentando hacer un menú desplegable dinámico que será llenado por una tabla SQLite. Tengo un objeto Cursor del que puedo extraer los datos que necesito. He podido cargar los valores en el menú desplegable con el siguiente código:

Spinner s = (Spinner) findViewById(R.id.spinner);
    ArrayAdapter adapter = new ArrayAdapter<String>(this, android.R.layout.simple_spinner_item);
    adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
    s.setAdapter(adapter);

    try{
        Cursor cursor = getAccounts();
        int accountnameIndex = cursor.getColumnIndexOrThrow(ACCOUNT_NAME);
        if(cursor.moveToFirst()){
            do{
                adapter.add(cursor.getString(accountnameIndex));
            } while(cursor.moveToNext());
        }
    } finally {
        MintLink.close();
    }

Mi problema es que necesito una selección del menú desplegable para contener también el RowID del elemento seleccionado. Necesito poder seleccionar un elemento y tener acceso al valor de ese elemento en el back-end. Por ejemplo, piense en un menú desplegable en HTML. Cada selección desplegable tiene su propio valor oculto que se extrae. Necesito que este valor esté oculto para que me permita saber qué ID eligen.

Respuestas a la pregunta(4)

Su respuesta a la pregunta