当从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);