国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 系統 > Android > 正文

android開發實現列表控件滾動位置精確保存和恢復的方法(推薦)

2019-12-12 03:21:46
字體:
來源:轉載
供稿:網友

Android開發經常要對列表的滾動位置進行保存和恢復,網上也有很多關于此功能的方法文章,但絕大多數都只能保存恢復到某一行,對于滾動到半行的情況不能精確的恢復。也有很多文章介紹了好幾種方法,也說某些方法能夠精確的控制,但實際上根本不能實現。還有些介紹了很多玄乎且非常復雜的方法,但也沒看到能完整實現的代碼。

經過一段時間的研究測試,下面的代碼可以完美的實現列表滾動位置的精確保存和恢復,而且只是在原來記憶到行位置的基礎上增加了2行代碼而已。

具體見下面代碼和注釋:

//保存位置:int position=0;list.setOnScrollListener(new OnScrollListener() {  @Override  public void onScrollStateChanged(AbsListView view, int scrollState) {   //保存當前滾動到的位置    if (scrollState == OnScrollListener.SCROLL_STATE_IDLE) {     position = list.getFirstVisiblePosition();//獲取在總的列表條數中的索引編號     View firstVisibleItem = list.getChildAt(0);//獲取在可視的item中的索引編號     scrolledY = firstVisibleItem.getTop();//獲取第一個列表項相對于屏幕頂部的位置    }@Overridepublic void onScroll(AbsListView view, int firstVisibleItem, int visibleItemCount, int totalItemCount) {}}); //恢復位置: list.setSelectionFromTop(position, scrolledY);

以上這篇android開發實現列表控件滾動位置精確保存和恢復的方法(推薦)就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持武林網。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 玛多县| 奉化市| 寿光市| 拜泉县| 湛江市| 静乐县| 文成县| 万源市| 铜陵市| 平和县| 特克斯县| 邢台县| 隆子县| 右玉县| 通城县| 日喀则市| 东丽区| 景谷| 阿拉尔市| 文昌市| 抚顺市| 济阳县| 曲阜市| 华容县| 镇坪县| 元谋县| 来安县| 东明县| 贵南县| 隆子县| 沁阳市| 环江| 富蕴县| 潞西市| 永德县| 拜城县| 古田县| 新津县| 葫芦岛市| 马龙县| 赤城县|