Android ListView scrolling to top

Posted by aandroid on Stack Overflow See other posts from Stack Overflow or by aandroid
Published on 2010-05-22T21:14:38Z Indexed on 2010/05/22 21:20 UTC
Read the original article Hit count: 1200

Filed under:
|

Hi,

I have a ListView with custom rows. When any of these rows is clicked, the ListView's data is regenerated. I'd like the list to scroll back to the top when this happens.

I initially tried using setSelection(0) in each row's OnClickListener to achieve this but was unsuccessful (I believe because the ListView loses its scroll position when its data is invalidated - so my call to setSelection is undone. I still don't understand how the ListView decides where to scroll to after invalidation, though).

The only working solution I know of was given by Romain Guy here: http://groups.google.com/group/android-developers/browse_thread/thread/127ca57414035301

It involves (View.post)ing the call to _listView.setSelection(0). I found this to perform quite poorly. The newly generated list shows up with it's scroll location unchanged and there is a considerable delay before it scrolls back to the top.

Is there any better way to achieve this functionality?

Any help would be much appreciated.

Thanks!

© Stack Overflow or respective owner

Related posts about android

Related posts about listview