`
zwnJava
  • 浏览: 208066 次
  • 性别: Icon_minigender_2
  • 来自: 北京
社区版块
存档分类
最新评论

GridView分页(精确监听AbsListView滚动至底部)

 
阅读更多
import android.view.View;
import android.widget.AbsListView;
import android.widget.Toast;
import android.widget.AbsListView.OnScrollListener;

/** 
* 滚动至列表底部,读取下一页数据 
*/
public class AutoLoadListener implements OnScrollListener {

  public interface AutoLoadCallBack {
    void execute();
  }

  private int getLastVisiblePosition = 0, lastVisiblePositionY = 0;
  private AutoLoadCallBack mCallback;

  public AutoLoadListener(AutoLoadCallBack callback) {
    this.mCallback = callback;
  }

  public void onScrollStateChanged(AbsListView view, int scrollState) {

    if (scrollState == OnScrollListener.SCROLL_STATE_IDLE) {
      //滚动到底部     
      if (view.getLastVisiblePosition() == (view.getCount() - 1)) {
        View v = (View) view.getChildAt(view.getChildCount() - 1);
        int[] location = new int[2];
        v.getLocationOnScreen(location);//获取在整个屏幕内的绝对坐标     
        int y = location[1];

        MyLog.d("x" + location[0], "y" + location[1]);
        if (view.getLastVisiblePosition() != getLastVisiblePosition && lastVisiblePositionY != y)//第一次拖至底部     
        {
          Toast.makeText(view.getContext(), "已经拖动至底部,再次拖动即可翻页", 500).show();
          getLastVisiblePosition = view.getLastVisiblePosition();
          lastVisiblePositionY = y;
          return;
        } else if (view.getLastVisiblePosition() == getLastVisiblePosition && lastVisiblePositionY == y)//第二次拖至底部     
        {
          mCallback.execute();
        }
      }

      //未滚动到底部,第二次拖至底部都初始化     
      getLastVisiblePosition = 0;
      lastVisiblePositionY = 0;
    }
  }

  public void onScroll(AbsListView arg0, int arg1, int arg2, int arg3) {

  }
}

 

文章引自:http://blog.csdn.net/hellogv/article/details/6615487

分享到:
评论

相关推荐

    android Gridview分页实现

    4. 监听器:在GridView中添加OnScrollListener,当用户滚动到底部时,触发加载下一页。 ```java gridView.setOnScrollListener(new AbsListView.OnScrollListener() { @Override public void ...

    安卓Andriod源码——gridview分页效果.zip

    "安卓Andriod源码——gridview分页效果.zip"这个压缩包可能包含了一个示例项目,演示了如何在GridView中实现分页效果。以下是对这个主题的详细讲解: 1. GridView基本概念: GridView继承自AbsListView,它会将...

    Android GridView分页显示

    我们可以监听GridView的OnScrollListener,当滚动到底部时(通常通过比较最后一个可见项的位置和数据集的总大小),调用加载更多数据的方法。 3. 分页请求:在加载更多数据的方法中,向服务器发送请求获取下一页的...

    gridview分页效果

    总的来说,实现"gridview分页效果"需要结合数据库查询、Adapter机制、滚动监听、异步加载以及性能优化等多方面的技术。通过掌握这些知识点,开发者可以构建出更加高效、用户友好的Android应用。

    android gridview分页和滑动效果

    综上所述,实现Android GridView的分页和滑动效果涉及到的主要知识点包括:GridView的基础用法、Adapter的使用、滚动事件监听、自定义滚动效果以及用户体验优化。理解并掌握这些内容,可以帮助开发者创建出更加动态...

    GridView分页显示

    这可以通过监听GridView的滚动事件并结合一个数据加载器(如AsyncTask)来实现。当用户滚动到底部时,加载下一页数据并更新Adapter。 步骤如下: 1. 在Adapter中添加一个当前页码(currentPage)和每页数据量...

    GridView分页效果

    在本示例中,"GridView分页效果"指的是在GridView中实现类似翻页的功能,以便在有限的屏幕空间内高效浏览大量内容,如图片和文字。 在Android中,GridView默认并不直接支持分页,但可以通过一些技巧来模拟分页效果...

    安卓Android源码——gridview分页效果.rar

    这个"安卓Android源码——gridview分页效果.rar"文件很可能是包含了一个实现GridView分页效果的示例项目。分页在大数据量展示时尤为重要,因为它提高了用户体验,避免一次性加载大量数据导致应用性能下降或内存溢出...

    应用源码之gridview分页效果.zip

    本篇将围绕"应用源码之gridview分页效果.zip"这个主题,深入探讨在Android中实现GridView分页的原理和方法。 首先,理解GridView的基本概念。GridView继承自AbsListView,其内部通过Adapter来填充数据,Adapter负责...

    Android应用源码之gridview分页效果.zip

    对于GridView,我们可以实现滚动监听,当用户滚动到列表底部时,加载更多数据。这种滚动监听和动态加载的机制称为“无限滚动”或“懒加载”。 3. 实现步骤: - **创建Adapter**:首先,你需要创建一个自定义的...

    Andriod gridview分页效果 源码

    这个“Andriod gridview分页效果 源码”显然包含了实现GridView分页功能的示例代码,这对于需要处理大量数据并希望优化用户体验的开发者来说非常有用。下面将详细介绍GridView及其分页效果的实现原理。 ### ...

    Android高级应用源码-gridview分页效果.zip

    "Android高级应用源码-gridview分页效果.zip"这个压缩包文件很可能是提供了一个实现GridView分页效果的示例代码。在Android中,GridView的分页可以提高应用性能,减少内存消耗,并且改善用户体验,特别是在处理大量...

    android gridview分页

    总结,实现Android GridView的分页功能,需要结合数据源管理、自定义Adapter、监听滚动事件和适当的加载策略。通过这种方式,我们可以为用户提供更加流畅、高效的浏览体验,同时降低应用程序对系统资源的需求。在...

    安卓Android源码——gridview分页效果.zip

    在这个“安卓Android源码——gridview分页效果.zip”压缩包中,我们可能找到了一个实现GridView分页效果的示例项目。接下来,我们将深入探讨GridView以及如何在Android中实现分页功能。 首先,GridView是Android中...

    android gridview分页效果demo.zip

    2. 监听GridView的滚动事件,检测是否到达底部。 3. 在后台加载更多数据,更新Adapter并通知视图刷新。 4. 使用适当的优化技巧,如异步加载和资源回收。 5. 提供视觉反馈,告知用户数据正在加载。 通过以上步骤,...

    Android应用源码之gridview分页效果.rar

    这个“Android应用源码之gridview分页效果.rar”压缩包文件应该包含了一个实现了GridView分页功能的示例应用源代码。下面我们将深入探讨GridView和其分页实现的相关知识点。 1. GridView基本概念: GridView继承自...

    gridview分页效果.zip安卓程序源码资源下载

    本资源包“gridview分页效果.zip”提供了一个具体的安卓程序源码示例,专注于实现GridView的分页功能。这对于学生进行毕业设计、程序员学习研究,以及小公司快速开发新项目都非常有帮助。 1. GridView基础知识:...

    gridview分页显示手机所有应用

    这通常涉及滚动事件监听和懒加载技术。不过,由于GridView自身不支持分页,因此可能需要结合其他组件,如SwipeRefreshLayout和ViewPager,来实现这个功能。 6. 源码和工具: 提到的“源码”和“工具”标签可能暗示...

Global site tag (gtag.js) - Google Analytics