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的基础组件和数据操作有深入的理解,同时也...
7. **与数据加载的结合**:如果ListView需要动态加载更多数据,翻页效果应该与加载新数据的触发点相结合,使得翻页动画在数据加载完成后自然地结束。 通过研究和理解这个"ListForPage"源码,开发者可以学习如何在...
在这个特定的项目中,我们关注的是如何实现ListView的翻页功能,使得用户可以滚动浏览大量数据而无需一次性加载所有内容。这既提高了用户体验,也减轻了对设备资源的需求。 首先,我们需要理解Xamarin.Android的...
分页加载是指在用户滚动列表到底部时,应用程序动态地从服务器获取更多数据并将其添加到已有的ListView中,而不是一次性加载所有数据。这种技术可以减少内存消耗,避免一次性加载大量数据导致的卡顿现象,尤其对于...
- **OnScrollListener**:这是Android提供的监听ListView滚动事件的接口。我们需要重写`onScroll()`和`onScrollStateChanged()`方法来捕获滚动状态和位置变化。 - **判断加载条件**:在`onScroll()`方法中,我们...
本压缩包“Android应用源码ListView上下翻页效果.zip”提供了一个关于ListView上下翻页效果的源码示例,这对于理解和掌握Android中的ListView滚动效果至关重要。 首先,我们要理解ListView的基本工作原理。ListView...
本项目是针对“Android应用源码ListView上下翻页效果”的一个毕业设计示例,旨在帮助开发者学习如何在Android应用中实现ListView的上下翻页效果,以及相关的移动开发技巧。 在Android中,ListView通过Adapter来绑定...
本篇文章将深入探讨如何利用ListView实现类似QQ空间的滚动翻页和滚动加载效果,这两种功能在现代社交应用中非常常见,能够提高用户体验并优化数据加载效率。 首先,我们来看滚动加载(Infinite Scroll)的效果。...
"下拉刷新和滚动加载ListView"是提高用户体验的重要功能,使得用户可以方便地获取最新数据或者查看更多的内容。本篇将深入探讨这两个特性以及如何在实际应用中实现它们。 一、下拉刷新 下拉刷新(Pull-to-Refresh...
本资源"应用源码ListView上下翻页效果.zip"包含了一个关于如何实现ListView滚动翻页效果的示例源码,非常适合Java和Android初学者以及进行毕业设计的开发者进行学习。 首先,ListView的基本原理是通过Adapter将数据...
"ListView上下翻页效果.zip"可能包含了一个实现ListView滚动时上下翻页动画的示例项目。在这个项目中,开发者可能通过自定义适配器和滚动监听来创建这种动态效果。 1. **ListView基本概念**: - ListView是Android...
为了实现翻页效果,我们需要自定义一个Adapter,确保在滚动到底部时加载更多数据。 1. **自定义Adapter**: 创建一个继承自BaseAdapter的类,重写以下方法: - `getCount()`:返回数据源的大小,用于判断是否已...
onScrollStateChanged()在ListView滚动状态改变时被调用,例如从滑动到静止;onScroll()在ListView滚动过程中持续被调用,可以获取滚动的当前位置等信息。 实现翻页效果的核心在于正确处理这些滚动事件。开发者可能...
首先,动态加载(Lazy Loading)的核心思想是分页加载,即不一次性加载所有数据,而是用户滚动到列表底部时才加载更多数据。这样可以减少初始加载时间,避免内存浪费,特别是处理大数据集时。 要实现这个功能,我们...