IT博客汇
  • 首页
  • 精华
  • 技术
  • 设计
  • 资讯
  • 扯淡
  • 权利声明
  • 登录 注册

    [原]13_android项目中记录ListView滚动停止位置与设置显示位置

    redarmy_chen发表于 2014-06-20 11:19:15
    love 0

    在项目中经常使用到listView控件,当想记录滚动停止时的记录,当点击加载新的数据,从记录的位置开始显示的操作怎么实现尼?分为如下步骤

    1.记录位置代码

    //声明记录停止滚动时候,可见的位置
    private int stop_position;
    
    @Override
    	public void onScrollStateChanged(AbsListView view, int scrollState) {
    		// TODO Auto-generated method stub
    		// 判断是否是最后一行,并且停止滚动
    		if (isLastRow && scrollState == OnScrollListener.SCROLL_STATE_IDLE) {
    			//获取可见位置
    			stop_position = lv_categories.getFirstVisiblePosition();
    			// 判断是否是最后一页
    			if (pageInfo.getNowPage() != pageInfo.getCountPage()) {
    				// 查询下一页数据
    				categoryManager.queryObjects(pageInfo.getNowPage() + 1);
    			}
    			// 记得把标识改为false
    			isLastRow = false;
    		}
    
    	}
    
    	@Override
    	public void onScroll(AbsListView view, int firstVisibleItem,
    			int visibleItemCount, int totalItemCount) {
    
    		if ((firstVisibleItem + visibleItemCount) >= totalItemCount) {
    			isLastRow = true;
    		}
    
    	}


    2.重新开始位置

    	// 设置listView控件的适配器
    	lv_categories.setAdapter(adapter);
    	//设置listView开始的可见位置
    	lv_categories.setSelection(stop_position);




沪ICP备19023445号-2号
友情链接