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

【转】ListView 滚动翻页/滚动加载

阅读更多
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();更新数据
}

 

//滚到加载余下的数据
private void loadRemnantListItem() {
    //动态的改变listAdapter.getCount()的返回值 @
    //使用Handler调用listAdapter.notifyDataSetChanged();更新数据
}

这个方法中在第10行这个位置可以写listAdapter.count =+ 10;表示每次滚动到最后加10跳,当然还要加上判断到最后不够10条的时候
if((listData.size()-listAdapter.count)/10==0)
{
listAdapter.count += ((listData.size()-listAdapter.count)%10;
或者listAdapter.count = listData.size();
}

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

原文地址:http://hi.baidu.com/455611934/blog/item/0dd2d1517966684f1038c2d2.html
分享到:
评论

相关推荐

    Android 实现ListView滚动到底部自动加载数据

    总之,实现Android ListView滚动到底部自动加载数据涉及到的主要步骤包括:设置适配器、监听滚动事件、判断是否滚动到底部、加载新数据和更新列表。这个过程需要对Android的基础组件和数据操作有深入的理解,同时也...

    ListView上下翻页效果.rar

    7. **与数据加载的结合**:如果ListView需要动态加载更多数据,翻页效果应该与加载新数据的触发点相结合,使得翻页动画在数据加载完成后自然地结束。 通过研究和理解这个"ListForPage"源码,开发者可以学习如何在...

    xamarin开发安卓版本的listview翻页代码

    在这个特定的项目中,我们关注的是如何实现ListView的翻页功能,使得用户可以滚动浏览大量数据而无需一次性加载所有内容。这既提高了用户体验,也减轻了对设备资源的需求。 首先,我们需要理解Xamarin.Android的...

    listview分页加载

    分页加载是指在用户滚动列表到底部时,应用程序动态地从服务器获取更多数据并将其添加到已有的ListView中,而不是一次性加载所有数据。这种技术可以减少内存消耗,避免一次性加载大量数据导致的卡顿现象,尤其对于...

    Android ListView上下翻页效果

    - **OnScrollListener**:这是Android提供的监听ListView滚动事件的接口。我们需要重写`onScroll()`和`onScrollStateChanged()`方法来捕获滚动状态和位置变化。 - **判断加载条件**:在`onScroll()`方法中,我们...

    Android应用源码ListView上下翻页效果.zip

    本压缩包“Android应用源码ListView上下翻页效果.zip”提供了一个关于ListView上下翻页效果的源码示例,这对于理解和掌握Android中的ListView滚动效果至关重要。 首先,我们要理解ListView的基本工作原理。ListView...

    Android应用源码ListView上下翻页效果-IT计算机-毕业设计.zip

    本项目是针对“Android应用源码ListView上下翻页效果”的一个毕业设计示例,旨在帮助开发者学习如何在Android应用中实现ListView的上下翻页效果,以及相关的移动开发技巧。 在Android中,ListView通过Adapter来绑定...

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

    本篇文章将深入探讨如何利用ListView实现类似QQ空间的滚动翻页和滚动加载效果,这两种功能在现代社交应用中非常常见,能够提高用户体验并优化数据加载效率。 首先,我们来看滚动加载(Infinite Scroll)的效果。...

    下拉刷新和滚动加载ListView

    "下拉刷新和滚动加载ListView"是提高用户体验的重要功能,使得用户可以方便地获取最新数据或者查看更多的内容。本篇将深入探讨这两个特性以及如何在实际应用中实现它们。 一、下拉刷新 下拉刷新(Pull-to-Refresh...

    应用源码ListView上下翻页效果.zip

    本资源"应用源码ListView上下翻页效果.zip"包含了一个关于如何实现ListView滚动翻页效果的示例源码,非常适合Java和Android初学者以及进行毕业设计的开发者进行学习。 首先,ListView的基本原理是通过Adapter将数据...

    ListView上下翻页效果.zip

    "ListView上下翻页效果.zip"可能包含了一个实现ListView滚动时上下翻页动画的示例项目。在这个项目中,开发者可能通过自定义适配器和滚动监听来创建这种动态效果。 1. **ListView基本概念**: - ListView是Android...

    ListView上下翻页效果

    为了实现翻页效果,我们需要自定义一个Adapter,确保在滚动到底部时加载更多数据。 1. **自定义Adapter**: 创建一个继承自BaseAdapter的类,重写以下方法: - `getCount()`:返回数据源的大小,用于判断是否已...

    ListView上下翻页效果(实用1).zip

    onScrollStateChanged()在ListView滚动状态改变时被调用,例如从滑动到静止;onScroll()在ListView滚动过程中持续被调用,可以获取滚动的当前位置等信息。 实现翻页效果的核心在于正确处理这些滚动事件。开发者可能...

    动态加载ListView的例子

    首先,动态加载(Lazy Loading)的核心思想是分页加载,即不一次性加载所有数据,而是用户滚动到列表底部时才加载更多数据。这样可以减少初始加载时间,避免内存浪费,特别是处理大数据集时。 要实现这个功能,我们...

Global site tag (gtag.js) - Google Analytics