Android listview定位到上次显示的位置的实现方法
Androidlistview定位到上次显示的位置的实现方法
整体思路:滑动lictview时,记录listview的位置,定位时定位到该位置。
1、添加全局变量
privateintscrolledX=0; privateintscrolledY=0;
2、Oncreate()添加滚动事件监听
ClassesLV.setOnScrollListener(newOnScrollListener(){
/**
*滚动状态改变时调用
*/
@Override
publicvoidonScroll(AbsListViewview,intfirstVisibleItem,
intvisibleItemCount,inttotalItemCount){
}
@Override
publicvoidonScrollStateChanged(AbsListViewview,intscrollState){
if(scrollState==OnScrollListener.SCROLL_STATE_IDLE){
try{
scrolledX=view.getFirstVisiblePosition();
Log.i("scrollX",String.valueOf(scrolledX));
scrolledY=view.getChildAt(0).getTop();
Log.i("scrollY",String.valueOf(scrolledY));
}catch(Exceptione){
}
}
}
//
});
3、activity 重新启动时,恢复原先的定位。
publicvoidonBack(){
ClassesLV.setSelectionFromTop(scrolledX,scrolledY);
}
protectedvoidonResume(){
//ClassesLV.scrollTo(scrolledX,scrolledY);
onBack();
//initDataFromNet();
isClick=0;
super.onResume();
}
如有疑问请留言或者到本站社区交流讨论,感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!