ListView动态加载数据分页(使用Handler+线程与AsyncTask两种方法).docxVIP

ListView动态加载数据分页(使用Handler+线程与AsyncTask两种方法).docx

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
ListView动态加载数据分页(使用Handler+线程与AsyncTask两种方法).docx

ListView动态加载数据分页(使用Handler+线程和AsyncTask两种方法)? ? ?在android开发中,经常需要使用数据分页,比如要实现一个新闻列表的显示,或者博文列表的显示,不可能第一次加载就展示出全部,这就需要使用分页的方法来加载数据,在android中Handler经常用来在耗时的工作中,它接收子线程发送的数据,并使用数据配合更新UI,AsyncTask是在一个线程中执行耗时操作然后把结果传给UI线程,不需要你亲自去管理线程和句柄。一、使用Handler+线程方法1、基础知识Handler在android系统中,主要负责发送和接收消息,它的用途主要有以下两种:(1)按照计划来处理一个消息(sendMessage(Message)方法)或者执行某个runnable实例(post(Runnable)方法)(2)把其他的线程对象放入消息队列中,避免线程冲突。? ? ?消息的发送通过post(Runnable), postAtTime(Runnable, long), postDelayed(Runnable, long), sendEmptyMessage(int),sendMessage(Message), sendMessageAtTime(Message, long)和sendMessageDelayed(Message, long) 方法完成。对于postXXX方法通过Runnable对象给消息队列,并在消息队列到达后被调用。对于sendMessageXXX方法,则传递一个包含message对象,该对象可以被Handler类的handlerMessage(Message)方法处理。2、主要代码 1 public class HandlerDemo extends Activity implements OnScrollListener { 2 3 private ListViewmListView; 4 LinearLayoutloadingLayout; 5 private Thread mThread; 6 private ListViewAdapter adapter; 7 8 private intstartIndex = 1;// 从第1条开始 9 private int size = 10;// 每次下载十条数据 10 private ListNews newsList; 11 ListMapString, String data ; 12 13 /* 14 * 设置布局显示属性 15 */ 16 private LayoutParamsmLayoutParams = new LayoutParams( 17 LinearLayout.LayoutParams.WRAP_CONTENT, 18 LinearLayout.LayoutParams.WRAP_CONTENT); 19 20 private LayoutParamsffLayoutParams = new LayoutParams( 21 LinearLayout.LayoutParams.FILL_PARENT, 22 LinearLayout.LayoutParams.FILL_PARENT); 23 24 private ProgressBarprogressBar; 25 26 @Override 27 protected void onCreate(Bundle savedInstanceState) { 28 // TODO Auto-generated method stub 29 super.onCreate(savedInstanceState); 30 setContentView(R.layout.news_main); 31 data=new ArrayListMapString, String(); 32 addView(); 33 } 34 35 private void addView() { 36 if (startIndex == 1) { 37 newsList = new ArrayListNews(); 38 newsList = getNewsList(); 39

文档评论(0)

dmz158 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档