Override this method to your adapter class so you can retrieve the id in onItemClick.
@Override
public long getItemId(int position) {
return yourList.get(position);
}
In onItemClick
final String ID = String.valueOf(lv.getAdapter().getItemId(arg2));
//long id = ((YourAdapter)parent.getAdapter()).getItemId(arg2);
Please see Android OnItemClickListener long id parameter is not giving field id and view.getId() returning wrong id in OnItemClickListener
Edit: so here's Oli's changes:
final long id = ((EPListAdapter)arg0.getAdapter()).getItemId(arg2);
"Its important to use .notifyDataSetChanged(); on the Adapter. Else it wont work."