欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  移动技术

Android listview定位到上次显示的位置的实现方法

程序员文章站 2023-12-05 16:33:22
android listview定位到上次显示的位置的实现方法 整体思路:滑动lictview时,记录listview的位置,定位时定位到该位置。 1、添加全局变量...

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();
}

如有疑问请留言或者到本站社区交流讨论,感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!