You should use the position in listView onItemClick
listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
Cursor cursor = (Cursor) listView.getItemAtPosition(position);
iD = cursor.getLong(cursor.getColumnIndexOrThrow("_id"));
Intent result = new Intent(getApplicationContext(), ResultClass.class);
startActivity(result);
}
});