Preenchendo o Spinner do banco de dados SQLite Android

Estou tentando fazer uma lista suspensa dinâmica que será preenchida por uma tabela SQLite. Eu tenho um objeto Cursor do qual posso extrair os dados de que preciso. Consegui realizar o carregamento dos valores no menu suspenso com o código abaixo:

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();
    }

Meu problema é que eu preciso da seleção no menu suspenso para conter também o RowID do item selecionado. Preciso poder selecionar um item e ter acesso ao valor desse item no back-end. Por exemplo, pense em uma lista suspensa em HTML. Cada seleção suspensa tem seu próprio valor oculto que é puxado. Eu preciso que esse valor esteja oculto para que eu possa saber qual ID eles escolhem.

questionAnswers(4)

yourAnswerToTheQuestion