SQLite
 sql >> Datenbank >  >> RDS >> SQLite

So erhalten Sie eine Zeile in SQLite nach Index (nicht nach ID)

Der bessere Weg ist, die ID des Datensatzes aus dem Objekt abzurufen, das durch ListView repräsentiert wird Element und verwenden Sie es dann, um den richtigen Datensatz in der Datenbank zu erhalten. In Ihrer ListView 's OnItemClickListener , der onItemClick Ereignis nimmt die AdapterView als erstes Argument und den Index des ausgewählten Elements als zweites. Holen Sie sich dieses Element aus dem Adapter und wandeln Sie es in den Typ um, den es repräsentiert.

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
}

Wenn Sie jedoch wirklich die nte erhalten möchten aufnehmen, ich glaube, Sie können Folgendes tun:

SELECT * FROM TableName LIMIT 1 OFFSET n;

Wobei n der gesuchte Index ist. Dies setzt auch voraus, dass Ihre Ergebnisse genauso geordnet sind wie in Ihrer ListView .