Lepszą drogą do przejścia będzie pobranie identyfikatora rekordu z obiektu reprezentowanego przez ListView
pozycji, a następnie użyj tego, aby uzyskać poprawny rekord w bazie danych. W swoim ListView
OnItemClickListener
, onItemClick
zdarzenie przyjmuje AdapterView
jako pierwszy argument i indeks wybranej pozycji jako drugi. Pobierz ten element z adaptera i prześlij go na typ, który reprezentuje.
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
}
Jeśli jednak naprawdę chcesz zdobyć n rekord, wierzę, że możesz wykonać następujące czynności:
SELECT * FROM TableName LIMIT 1 OFFSET n;
Gdzie n jest indeksem, którego szukasz. Zakłada się również, że wyniki są uporządkowane w taki sam sposób, jak w Twoim ListView
.