这里有新鲜出炉的精品教程,程序狗速度看过来!
Android是一种基于Linux的自由及开放源代码的操作系统,主要使用于移动设备,如智能手机和平板电脑,由Google公司和开放手机联盟领导及开发。尚未有统一中文名称,中国大陆地区较多人使用“安卓”或“安致”。
这篇文章主要介绍了Android listview定位到上次显示的位置的实现方法的相关资料,希望通过本文能帮助到大家,需要的朋友可以参考下
Android listview定位到上次显示的位置的实现方法
整体思路:滑动lictview时,记录listview的位置,定位时定位到该位置。
1、添加全局变量
- private int scrolledX = 0;
- private int scrolledY = 0;
2、Oncreate()添加滚动事件监听
- ClassesLV.setOnScrollListener(new OnScrollListener() {
- /**
- * 滚动状态改变时调用
- */
- @Override
- public void onScroll(AbsListView view, int firstVisibleItem,
- int visibleItemCount, int totalItemCount) {
- }
- @Override
- public 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();
- }
来源: http://www.phperz.com/article/17/0913/345709.html