ListView的setSelection()和setSelectionFromTop()联系
来源:互联网 发布:linux wget 下载jdk 编辑:程序博客网 时间:2024/05/16 23:41
通常,app中的数据都是以ListView的形式展示的。默认地,把“新”数据添加到数据列表的尾部。
但是,如果是IM类型的app,比如查看历史消息这个模块。新数据并不是插到数据列表的尾部,而是插到数据列表的头部。
要实现比较好的用户体验,需要保持当前的ListView的位置。换句话说,如果我们能够随心所欲地指定ListView滚动的位置,那么这个问题就迎刃而解。
在ListView中,有一个setSelectionFromTop()方法,下面是一个使用范例。代码如下:
- @Override
- public void loaded(Long loadTime, int thisPageNumber, boolean isFromZero, boolean isHasMoreToLoad, List data) {
- refreshComplete();
- checkIfHasMoreToLoad(isHasMoreToLoad);
- if (thisPageNumber != 1) {// 不是第一页
- mListView.setSelectionFromTop(5+2, mIMPullToRefreshListView.getHeaderHeight());
- mIMPullToRefreshListView.getHeaderView().setVisibility(View.GONE);
- }
- }
ListView还有一个方法叫setSelection(),传入一个index整型数值,就可以让ListView定位到指定Item的位置。
这两个方法有什么区别呢?看一下setSelection()的具体实现,代码如下:
原来,setSelection()内部就是调用了setSelectionFromTop(),只不过是Y轴的偏移量是0而已。 0 0
- ListView的setSelection()和setSelectionFromTop()联系
- ListView的setSelection()和setSelectionFromTop()联系
- ListView的setSelection()和setSelectionFromTop()联系
- 【移动开发】ListView的setSelection()和setSelectionFromTop()联系
- 【移动开发】ListView的setSelection()和setSelectionFromTop()联系
- Android——ListView的setSelection()和setSelectionFromTop()联系
- 【移动开发】ListView的setSelection()和setSelectionFromTop()联系
- 商品搜索跳转显示引出的setSelection()和setSelectionFromTop()的区别
- ListView的setSelection用法
- ListView的setSelection()方法
- android中ListView的定位:使用setSelectionFromTop
- android中ListView的定位:使用setSelectionFromTop
- android中ListView的定位:使用setSelectionFromTop
- listview.setSelection ()无效的问题
- ListView的setSelection()不起作用的原因
- ListView的setSelection()方法的作用
- 为什么ListView的setSelection无效了?
- ListView的setItemChecked()或者setSelection()无效是怎么回事?
- Ubuntu14.04安装wineqq国际版
- Ant java Api的使用方法
- static关键字作用
- Android中通过反射获取资源Id
- 第九章 第十章 服务
- ListView的setSelection()和setSelectionFromTop()联系
- oracle存储过程
- hide developer console
- mysql优化
- CentOS下编写shell脚本自动备份数据库与网站
- jni传递对象中包含arraylist对象。
- C++中如何在一个构造函数中调用另一个构造函数
- 起步X5开发HTML5通过ajax调用WebService服务,调用的两种方式SOAP和Result
- 查看事务锁:innodb_trx + innodb_locks + innodb_lock_waits