zoukankan      html  css  js  c++  java
  • Android listView scroll 恢复滚动位置

    相信大家尝试过许多方法恢复滚动位置,本人也找了许多方法,唯有这个方法好用,下面把代码贴出来

    声明两个变量

    private int mPosition;
    private int lvChildTop;

    pause , resume方法

            @Override
    	public void onPause() {
    		// TODO Auto-generated method stub
    		super.onPause();
    
    		SharedPreferences mySharedPreferences = activity.getSharedPreferences(MY_PREFS, Activity.MODE_PRIVATE);
    		SharedPreferences.Editor edit = mySharedPreferences.edit();
    		edit.putInt("mPositionChildTop", lvChildTop);
    		edit.putInt("mPosition", mPosition);
    
    		edit.commit();
    	}
    
    	@Override
    	public void onResume() {
    		// TODO Auto-generated method stub
    		super.onResume();
    
    		SharedPreferences mySharedPreferences = activity.getSharedPreferences(MY_PREFS, Activity.MODE_PRIVATE); // MY_PREFES 是声明的字符串
    		lvChildTop = mySharedPreferences.getInt("mPositionChildTop", 0);
    		mPosition = mySharedPreferences.getInt("mPosition", 0);
    		listMessage.setSelectionFromTop(mPosition, lvChildTop); // listMessage 是listview ,
    	}


    listview 的监听事件

    private OnScrollListener lvScrollListener = new OnScrollListener() {
    
    		@Override
    		public void onScrollStateChanged(AbsListView view, int scrollState) {
    			// TODO Auto-generated method stub
    			// 不滚动时保存当前滚动到的位置
    			if (scrollState == OnScrollListener.SCROLL_STATE_IDLE) {
    				mPosition = listMessage.getFirstVisiblePosition();
    				View v = listMessage.getChildAt(0);
    				lvChildTop = (v == null) ? 0 : v.getTop();
    			}
    		}
    
    		@Override
    		public void onScroll(AbsListView view, int firstVisibleItem, int visibleItemCount, int totalItemCount) {
    			// TODO Auto-generated method stub
    
    		}
    	};





  • 相关阅读:
    Python爬虫之Scrapy框架的简介和基础应用
    python爬虫之selenium,谷歌无头浏览器
    12.块设备驱动程序(磁盘)
    11.USB输入子系统
    10.触摸屏驱动
    9.LCD驱动架构
    8.platform驱动分离
    7.输入子系统框架
    5.标签管理
    4.分支管理
  • 原文地址:https://www.cnblogs.com/james1207/p/3343414.html
Copyright © 2011-2022 走看看