`

android listview滑动时加载(动态加载)

阅读更多
如果adapter中的数据量很大的时候,在加载listview时会出现卡顿的现象。这是会让用户抓狂!最好的解决办法就是先加载一定数量的数据,然后在最下方提示正在加载!
动态加载就是把放入adapter中的数据分好几次加载。在用户拖动listview时再加载一定的数据,和sina微博的客户端类似。
给listview添加OnScrollListener监听事件默认会覆盖下面两个方法:
OnScrollListener loadListener=new OnScrollListener() {
		@Override
		public void onScroll(AbsListView view, int firstVisibleItem,
				int visibleItemCount, int totalItemCount) {
			lastItem = firstVisibleItem + visibleItemCount;
		}

		@Override
		public void onScrollStateChanged(AbsListView view, int scrollState) {
//listview滚动时会执行这个方法,这儿调用加载数据的方法。		
				adapter.notifyDataSetChanged();//提醒adapter更新
				uList.setSelection(lastItem - 1);//设置listview的当前位置,如果不设置每次加载完后都会返回到list的第一项。
			}
		}
	};


TIP:
1、如果activity中只有listview,当listview的数据量很大时,在启动activity时会卡顿半天知道数据加载完可以显示,这时可以可以用handler,将加载数据的操作写在handler里面,而且要在onResume()方法中执行,放在onCreate()不起作用。
2、如果是从网络获取数据,或者数据量很大可以新开一个线程,在线程中完成数据的加载。
3、如果添加的加载提示框出不来,可能是加载过程一直占有cpu,无法显示提示框,可以将加载的代码写到handler里面,用postDelayed()方法给一定的时间延迟去加载数据。
4、对Listview的详细解释和一个不错的Demo,看这位大牛:http://www.cnblogs.com/chon/archive/2011/06/28/2092317.html
分享到:
评论

相关推荐

    android ListView滑动自动加载

    在Android开发中,ListView是一种常用的组件,用于展示大量的列表数据。ListView的优势在于它可以高效地管理内存,只加载屏幕可见的视图,从而节省系统资源。本篇将详细讲解如何实现ListView的滑动自动加载功能,即...

    android listview滑动到底部加载数据

    "android listview滑动到底部加载数据"这个主题涉及到一个常见的功能需求:无限滚动或称为“上拉加载更多”。这种设计模式允许用户在滚动到ListView底部时动态加载更多的内容,从而提供更好的用户体验,避免一次性...

    Android ListView 滑动分页

    滑动分页技术是当用户滚动到底部时,自动加载更多数据的功能,这在处理大量数据时非常实用,可以提高用户体验并节省流量。本篇文章将详细讲解如何实现Android ListView的滑动分页功能。 首先,理解滑动分页的基本...

    android ListView滑动分页加载和点击分页加载,以及复用convertView综合案例

    综上所述,Android ListView的滑动分页加载和点击分页加载是提升用户体验的重要手段,而convertView的复用机制则是优化性能的关键。理解并熟练掌握这些技术,对于开发高效、流畅的Android应用至关重要。在实际项目中...

    android Listview下拉刷新 上拉(滑动分页)加载更多

    总之,下拉刷新和上拉加载更多是提升Android应用用户体验的关键特性,通过合理使用开源库和自定义事件监听,可以轻松地在ListView中实现这些功能。开发者可以根据项目需求选择合适的库,或者自定义实现,以满足各种...

    listview实现动态加载

    - 为了解决ListView滑动时频繁创建和销毁View导致性能问题,开发者常使用ViewHolder模式。ViewHolder保存了列表项中的各个子View引用,减少findViewById的调用,提高性能。 4. **动态加载原理**: - 动态加载通常...

    Android Listview滑动时不加载数据 停止时加载数据

    "Android Listview滑动时不加载数据 停止时加载数据" Android Listview滑动时不加载数据停止时加载数据是一个非常重要的技术,在 Android 开发中非常常见。这个技术可以使Listview滑动时不加载数据,停止时加载...

    android listView 分页加载

    分页加载(也称为懒加载)是在用户滚动到ListView底部时,才动态加载更多数据的方法。这种策略避免了一次性加载大量数据导致的内存消耗和应用启动时的延迟,提高了应用的响应速度和流畅性。 2. 实现方式: - ...

    【ListView】动态加载之滑动加载

    通过以上步骤和注意事项,我们可以有效地在ListView中实现动态加载和滑动加载功能,为用户提供流畅的滚动体验。在实际项目中,还可以根据需求进行优化,如使用RecyclerView替代ListView,或者采用更高效的加载策略。

    Android ListView 上拉加载,下拉刷新

    通过以上步骤,我们就能在Android应用中为ListView实现下拉刷新和上拉加载的功能,为用户提供更流畅的数据浏览体验。记住,在实际开发中,可能还需要处理各种边界情况,如数据为空、网络错误等,确保用户界面始终...

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

    当用户滚动到ListView的底部时,自动加载更多数据的功能通常被称为“无限滚动”或“下拉加载更多”。这种功能可以提升用户体验,避免用户手动翻页。下面我们将详细讨论如何在Android中实现这个功能。 首先,你需要...

    android listview 上下滑动刷新

    * Android下拉刷新自动加载更多 * @author mzba * */ public class PullToRefreshActivity extends ListActivity { private LinkedList, String>> mListItems; private NewsAdapter adapter; private int ...

    android listview滑动刷新

    "android listview滑动刷新"是指为ListView添加一种功能,即当用户上滑列表时,可以触发加载更多数据或更新已有数据的操作。这种功能在许多应用中常见,如邮件应用、社交媒体应用等,它提供了良好的用户体验,让用户...

    android Listview分批加载+自动加载改进版 源码下载

    自动加载使得用户在滑动到底部时能无缝加载更多数据,提供无尽的浏览体验。 2. **实现方式**: - 添加一个“加载更多”视图作为ListView的最后一项。 - 当用户滚动到底部时,移除“加载更多”视图,加载新数据,...

    知识共享-Android之ListView滑动加载、软缓存、懒加载(雷惊风)

    以上是对"知识共享-Android之ListView滑动加载、软缓存、懒加载"这一主题的详细解释,希望对你理解Android开发中的这些重要概念有所帮助。在实际开发中,熟练掌握这些技巧能够显著提升应用的性能和用户体验。

    安卓图片加载缓存相关-AsyncTask的使用及ListView的常见优化asyncTask异步加载数据使用了LruCache优化图片加载通过滑动监听提高ListView滑动流畅度.rar

    AsyncTask的使用及ListView的常见优化 asyncTask异步加载数据 使用了LruCache优化图片加载 通过滑动监听提高ListView滑动流畅度.rar,太多无法一一验证是否可用,程序如果跑不起来需要自调,部分代码功能进行参考学习...

    android listview 实现滑动删除+下拉刷新加载更多功能整合

    在这个项目中,我们关注的是如何将"滑动删除"和"下拉刷新加载更多"这两个功能整合到一个ListView中,提升用户体验。以下是对这两个功能的详细解释以及实现方法。 **滑动删除(Swipe to Delete)** 滑动删除是用户...

    Android ListView 实现上拉加载的示例代码

    以下是一个关于如何在Android中实现ListView上拉加载的详细步骤: 1. **判断加载时机**: 在实现上拉加载时,我们需要监听ListView的滚动事件。通过设置OnScrollListener,当ListView的lastVisibleItem等于...

Global site tag (gtag.js) - Google Analytics