android listview快速定位,【转】android中ListView的定位:使用setSelectionFromTop实现ListView的position的保持...
如果一個(gè)ListView太長(zhǎng),有時(shí)我們希望ListView在從其他界面返回的時(shí)候能夠恢復(fù)上次查看的位置,這就涉及到ListView的定位問(wèn)題:
解決的辦法如下:
這里使用了setSelectionFromTop來(lái)定位ListView。其實(shí)還可以使用setSelection也可以定位,只是setSelectionFromTop要比setSelection更精準(zhǔn)。因?yàn)橥ㄟ^(guò)getFirstVisiblePosition得到的第一個(gè)item可能已經(jīng)有一部分是不可見(jiàn)的了,如果用setSelection無(wú)法反映出這不可見(jiàn)的部分。
為了說(shuō)明setSelectionFromTop的參數(shù)值的意義,以及與setSelection的區(qū)別,下面從源碼上來(lái)分析:
看一下setSelectionFromTop()的具體實(shí)現(xiàn),代碼如下:
從上面的代碼可以得知,setSelectionFromTop()的作用是設(shè)置ListView選中的位置,同時(shí)在Y軸設(shè)置一個(gè)偏移量。
而setSelection()方法,傳入一個(gè)index整型數(shù)值,就可以讓ListView定位到指定Item的位置。
這兩個(gè)方法有什么區(qū)別呢?看一下setSelection()的具體實(shí)現(xiàn),代碼如下:
原來(lái),setSelection()內(nèi)部就是調(diào)用了setSelectionFromTop(),只不過(guò)是Y軸的偏移量是0而已。現(xiàn)在應(yīng)該對(duì)setSelection()和setSelectionFromTop()有了更深刻的認(rèn)識(shí)了。
原文鏈接:http://www.jcodecraeer.com/a/anzhuokaifa/androidkaifa/2014/0924/1709.html
總結(jié)
以上是生活随笔為你收集整理的android listview快速定位,【转】android中ListView的定位:使用setSelectionFromTop实现ListView的position的保持...的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: win10系统GHOST备份方法是什么
- 下一篇: android系统设置在哪里,andro