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

Android基于ListView实现类似QQ空间的滚动翻页与滚动加载效果

程序员文章站 2024-03-06 14:12:32
本文实例讲述了android基于listview实现类似qq空间的滚动翻页与滚动加载效果。分享给大家供大家参考,具体如下: 1. 滚动加载 listview.s...

本文实例讲述了android基于listview实现类似qq空间的滚动翻页与滚动加载效果。分享给大家供大家参考,具体如下:

1. 滚动加载

listview.setonscrolllistener(new onscrolllistener() {
  //添加滚动条滚到最底部,加载余下的元素
  @override
  public void onscrollstatechanged(abslistview view, int scrollstate) {
    if (scrollstate == onscrolllistener.scroll_state_idle) {
      loadremnantlistitem();
    }
  }
  @override
  public void onscroll(abslistview view, int firstvisibleitem, int visibleitemcount, int totalitemcount) {}
  });
listview.setonitemselectedlistener(new onitemselectedlistener() {
  //按键选择list中的item,焦点落在最下面的view上加载余下的item
  @override
  public void onitemselected(adapterview<?> parent, view view, int position, long id) {
    if(footerview == view) {
      loadremnantlistitem();
      listview.setselection(position - 1);
    }
  }
  @override
  public void onnothingselected(adapterview<?> parent) {}
  });
private void loadremnantlistitem() {//滚到加载余下的数据
  //动态的改变listadapter.getcount()的返回值
  //使用handler调用listadapter.notifydatasetchanged();更新数据
}

2. 滚动翻页

listview监听器代码相同

private void loadremnantlistitem() {//滚到加载余下的数据
  //重新listview.setadapter(newsadapter);
  //使用handler调用listadapter.notifydatasetchanged();更新数据
}

注:在listview最下面可以试用listview.addfooterview(footerview, null, true);来显示“加载中...”等的字样来美化用户体验,在loadremnantlistitem()方法中动态控制“加载中...”的显示和不显示

更多关于android相关内容感兴趣的读者可查看本站专题:《android图形与图像处理技巧总结》、《android开发入门与进阶教程》、《android调试技巧与常见问题解决方法汇总》、《android多媒体操作技巧汇总(音频,视频,录音等)》、《android基本组件用法总结》、《android视图view技巧总结》、《android布局layout技巧总结》及《android控件用法总结

希望本文所述对大家android程序设计有所帮助。