SQLite
 sql >> Database >  >> RDS >> SQLite

Come ottenere una riga in SQLite per indice (non per ID)

La strada migliore da percorrere sarà recuperare l'id del record dall'oggetto rappresentato da ListView item e quindi utilizzarlo per ottenere il record corretto nel database. Nella tua ListView OnItemClickListener , il onItemClick l'evento accetta AdapterView come primo argomento e l'indice dell'elemento selezionato come secondo. Prendi quell'elemento dall'adattatore e lancialo nel tipo che rappresenta.

public void onItemClick(AdapterView<?> arg0, View arg1, int arg2, long arg3) {
    YourClass c = (YourClass)arg0.getItemAtPosition(arg2);
    //index of the record to delete can now be accessed at c.id
}

Tuttavia, se vuoi davvero ottenere l'ennesimo record, credo che tu possa fare quanto segue:

SELECT * FROM TableName LIMIT 1 OFFSET n;

Dove n è l'indice che stai cercando. Ciò presuppone anche che i tuoi risultati siano ordinati nello stesso modo in cui sono nella tua ListView .