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
.