这篇文章主要为大家展示了“Android listview如何实现定位到上次显示的位置”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Android listview如何实现定位到上次显示的位置”这篇文章吧。
Android listview定位到上次显示的位置的实现方法
整体思路:滑动lictview时,记录listview的位置,定位时定位到该位置。
1、添加全局变量
private int scrolledX = 0;private int scrolledY = 0;
2、Oncreate()添加滚动事件监听
ClassesLV.setOnScrollListener(new OnScrollListener() {@Overridepublic void onScroll(AbsListView view, int firstVisibleItem,int visibleItemCount, int totalItemCount) {}@Overridepublic void onScrollStateChanged(AbsListView view, int scrollState) {if (scrollState == OnScrollListener.SCROLL_STATE_IDLE) {try { scrolledX = view.getFirstVisiblePosition(); Log.i("scroll X", String.valueOf(scrolledX)); scrolledY = view.getChildAt(0).getTop(); Log.i("scroll Y", String.valueOf(scrolledY));} catch (Exception e) {}}}//});
3、activity 重新启动时,恢复原先的定位。
public void onBack() { ClassesLV.setSelectionFromTop(scrolledX, scrolledY);}protected void onResume() { // ClassesLV.scrollTo(scrolledX, scrolledY); onBack(); // initDataFromNet(); isClick = 0; super.onResume();}
以上是“Android listview如何实现定位到上次显示的位置”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注编程网行业资讯频道!