【转】android中ListView的定位:使用setSelectionFromTop实现ListView的position的保持
2016-06-20 14:41
627 查看
如果一个ListView太长,有时我们希望ListView在从其他界面返回的时候能够恢复上次查看的位置,这就涉及到ListView的定位问题:
解决的办法如下:
这里使用了setSelectionFromTop来定位ListView。其实还可以使用setSelection也可以定位,只是setSelectionFromTop要比setSelection更精准。因为通过
为了说明setSelectionFromTop的参数值的意义,以及与setSelection的区别,下面从源码上来分析:
看一下setSelectionFromTop()的具体实现,代码如下:
从上面的代码可以得知,setSelectionFromTop()的作用是设置ListView选中的位置,同时在Y轴设置一个偏移量。
而setSelection()方法,传入一个index整型数值,就可以让ListView定位到指定Item的位置。
这两个方法有什么区别呢?看一下setSelection()的具体实现,代码如下:
原来,setSelection()内部就是调用了setSelectionFromTop(),只不过是Y轴的偏移量是0而已。现在应该对setSelection()和setSelectionFromTop()有了更深刻的认识了。
原文链接:http://www.jcodecraeer.com/a/anzhuokaifa/androidkaifa/2014/0924/1709.html
解决的办法如下:
getFirstVisiblePosition得到的第一个item可能已经有一部分是不可见的了,如果用setSelection无法反映出这不可见的部分。
为了说明setSelectionFromTop的参数值的意义,以及与setSelection的区别,下面从源码上来分析:
看一下setSelectionFromTop()的具体实现,代码如下:
而setSelection()方法,传入一个index整型数值,就可以让ListView定位到指定Item的位置。
这两个方法有什么区别呢?看一下setSelection()的具体实现,代码如下:
原文链接:http://www.jcodecraeer.com/a/anzhuokaifa/androidkaifa/2014/0924/1709.html
相关文章推荐
- Android Fragment应用实战(音乐播放器界面)
- Android ToggleButton:状态切换的Button
- Android ToggleButton:状态切换的Button
- android Activity 周期内的7大事件
- Android-屏幕适配全攻略(绝对详细)(二)
- Android-屏幕适配全攻略(绝对详细)(一)
- mac下android环境搭建笔记(android studio)
- android try catch做崩溃处理
- Android Service完全解析,关于服务你所需知道的一切(下)
- Android Service完全解析,关于服务你所需知道的一切(上)
- Android性能优化策略
- AndroidStudio中使用Vuforia(高通)
- android容联云IM会话界面chattingFragment修改的简单介绍
- Android学习笔记七之ContentProvider
- px、pt、ppi、dpi、dp、sp之间的关系
- 我的Android进阶之旅---Activity不同启动模式下应用程序栈的变化
- Java Jvm、Android Dalvik和Android Art(一)——Android之路
- Android TypedArray使用方法
- 1.1、Android Studio创建一个项目
- 1.1、Android Studio创建一个项目