如上图所示,两个”标签页“,直播室和聊天室。如果你的这个界面不是通过ViewPager来实现的,而是通过一个ListView,点击直播室或者聊天室切换的只是数据源,而非View。这时候在你切换之前可能需要记录一下当前ListView的位置,为了方便切换回来的时候回到之前的位置(默认是回到顶部)。
记录位置具体方法如下:
int prevSelection = listView.getFirstVisiblePosition();//获取第一个可见view的位置
View firstChild = listView.getChildAt(0);//获取listview中第一个view
if(firstChild != null) {//判空很重要
int prevFromTop = firstChild.getTop();//获取listview中顶部view距离顶部的距离
}
恢复之前的位置方法如下:
listView.setSelectionFromTop(prevSelection, prevFromTop);