По-добрият път ще бъде да извлечете идентификатора на записа от обекта, представен от ListView
елемент и след това го използвайте, за да получите правилния запис в базата данни. Във вашия ListView
OnItemClickListener
, onItemClick
събитие приема AdapterView
като първи аргумент и индексът на избрания елемент като втори. Вземете този елемент от адаптера и го прехвърлете към типа, който представлява.
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
}
Въпреки това, ако наистина искате да получите n-тия запис, вярвам, че можете да направите следното:
SELECT * FROM TableName LIMIT 1 OFFSET n;
Където n е индексът, който търсите. Това също предполага, че вашите резултати са подредени по същия начин, както са във вашия ListView
.