当从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); }
时间: 2024-10-21 10:48:05