http://blog.csdn.net/manoel/article/details/39183025
http://blog.csdn.net/manoel/article/details/39183025
http://blog.csdn.net/manoel/article/details/39183025
http://blog.csdn.net/manoel/article/details/39183025
http://blog.csdn.net/manoel/article/details/39183025
通常,app中的数据都是以ListView的形式展示的。默认地,把“新”数据添加到数据列表的尾部。
但是,如果是IM类型的app,比如查看历史消息这个模块。新数据并不是插到数据列表的尾部,而是插到数据列表的头部。
要实现比较好的用户体验,需要保持当前的ListView的位置。换句话说,如果我们能够随心所欲地指定ListView滚动的位置,那么这个问题就迎刃而解。
在ListView中,有一个setSelectionFromTop()方法,下面是一个使用范例。代码如下:
看一下setSelectionFromTop()的具体实现,代码如下:
ListView还有一个方法叫setSelection(),传入一个index整型数值,就可以让ListView定位到指定Item的位置。
这两个方法有什么区别呢?看一下setSelection()的具体实现,代码如下:
现在应该对setSelection()和setSelectionFromTop()有了更深刻的认识了。
参考资料
http://developer.android.com/reference/android/widget/ListView.html#setSelection%28int%29
http://www.cnblogs.com/over140/archive/2013/05/20/2948239.html
http://blog.csdn.net/jdsjlzx/article/details/17794209
http://blog.csdn.net/a859522265/article/details/8154103
版权声明:本文为博主原创文章,未经博主允许不得转载。