• [Android算法] 精确记录和恢复ListView滑动位置


    代码片段,双击复制
    backgroundList.setOnScrollListener(scrollListener);



    代码片段,双击复制
    private OnScrollListener scrollListener = new OnScrollListener() {
     
                    @Override
                    public void onScroll(AbsListView arg0, int arg1, int arg2, int arg3) {
                    }
     
                    @Override
                    public void onScrollStateChanged(AbsListView view, int scrollState) {
                            if (scrollState == OnScrollListener.SCROLL_STATE_IDLE) {
                                    // ListPos记录当前可见的List顶端的一行的位置
                                   scrollPos = myList.getFirstVisiblePosition();
                            }
                            if (arrayList != null) {  
                  View v=myList .getChildAt(0);
                  scrollTop=(v==null)?0:v.getTop();
                }  
             }
            };


    调用setAdapter之后恢复位置:

    代码片段,双击复制
    myList .setSelectionFromTop(scrollPos, scrollTop);



    参考:http://stackoverflow.com/questions/3014089/scroll-to-a-position-in-a-listview 

    路漫漫其修远兮 吾将上下而求索
  • 相关阅读:
    在类中声明常量
    PHPStudy配置虚拟主机配置域名步骤
    PHPStudy配置虚拟主机步骤
    2019年7月22日星期一,简单的总结一下
    简单的面向对象
    session和cookie
    Jquery 事件绑定 bind 与on 的区别
    php try catch用法
    include,include_once,require,require_once的区别
    require与 include区别
  • 原文地址:https://www.cnblogs.com/hudabing/p/3126988.html
Copyright © 2020-2023  润新知