calling ListView’s setSelection() seems to have a problem. a lot of people ask about it. there are answers but none is working. ignoring issues of visual affects. here’s a basic scenario that results in unexpected results:
listView.setSelection(5); //listView is a ListView. there are >= 6 items in the list
int sel=listView.getSelectedItemPosition();
you would expect sel==5 but actually it’s -1 (which method didn’t work?)
so is this a bug and if not, what are the rules that govern the setting and retrieval of the selected item?
If you see in the documentation of setSelection you find this:
That way, it makes perfectly sense that it returns -1. The item is not selected even if you run this method when you’re in touch mode, as you most likely are.