Lepší cestou bude načíst ID záznamu z objektu reprezentovaného ListView
položku a poté ji použijte k získání správného záznamu v databázi. Ve vašem ListView
OnItemClickListener
, onItemClick
událost přebírá AdapterView
jako první argument a index vybrané položky jako druhý. Získejte tuto položku z adaptéru a odešlete ji do typu, který představuje.
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
}
Pokud však opravdu chcete získat n-tý záznam, věřím, že můžete udělat následující:
SELECT * FROM TableName LIMIT 1 OFFSET n;
Kde n je index, o který usilujete. To také předpokládá, že vaše výsledky jsou seřazeny stejným způsobem, jako jsou ve vašem ListView
.