To dlatego, że przekazujesz pozycję elementu widoku listy, powinien to być identyfikator wiersza bazy danych.
Zmień
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id)
{
showsDialog(position);
}
do
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id)
{
TextView pos = (TextView) view.findViewById(R.id.rowno);
showsDialog(pos.getText().toString());
}
Powiedziałeś też
Once I delete any entry the row id on the listview doesn't seem to update the row number. (if i delete the first row, the row on top shows 2(should be 1, as it is the new first row)).
Ale tak się nie stanie, ponieważ jest to wiersz bazy danych, a nie pozycja widoku listy.