让ListView回来原来的位置

让ListView回到原来的位置

当从ListView中的某一个Item跳转到其他的Activity,进行操作之后,ListView可能需要刷新(重新加载数据源),这个时候ListView就会回到原始的状态,即:从第一个Item开始显示。我们要做的是让它回到原来的位置

 

 

 

//记录当前的ListView的位置
	private int CURRENT_LISTVIEW_ITEM_POSITION = 0;
	@Override
	public void onPause()
	{
		super.onPause();
		CURRENT_LISTVIEW_ITEM_POSITION = lvOfContact.getFirstVisiblePosition();//得到当前ListView的第一个
		System.out.println("onPause记住当前位置:" + CURRENT_LISTVIEW_ITEM_POSITION);
	}
	


	@Override
	public void onResume()
	{
		super.onResume();
		
		lvOfContact.setSelection(CURRENT_LISTVIEW_ITEM_POSITION);//回到原来的位置
		
		System.out.println("滚动到原来的位置:" + CURRENT_LISTVIEW_ITEM_POSITION);
	}


//在ListView重新加载数据源
//调用方法,就可以回到原来的位置了

 lvOfContact.setSelection(CURRENT_LISTVIEW_ITEM_POSITION);