`
ruilinruirui
  • 浏览: 1049124 次
文章分类
社区版块
存档分类
最新评论

Android中ListView分页加载数据

 
阅读更多

Android应用开发中,采用ListView组件来展示数据是很常用的功能,当一个应用要展现很多的数据时,一般情况下都不会把所有的数据一次就展示出来,而是通过分页的形式来展示数据,个人觉得这样会有更好的用户体验。因此,很多应用都是采用分批次加载的形式来获取用户所需的数据。例如:微博客户端可能会在用户滑动至列表底端时自动加载下一页数据,也可能在底部放置一个"查看更多"按钮,用户点击后,加载下一页数据。

下面通过一个Demo来展示ListView功能如何实现:该Demo通过在ListView列表的底部添加一个“查看更多...”按钮来加载新闻(模拟新闻客户端)分页数据。同时限定每次加载10条记录,但完全加载完数据后,就把ListView列表底部视图“查看更多...”删除。假设加载的数据总数为 38 条记录。先看下该Demo工程的程序结构图:


其中包 com.andyidea.bean中News.java类是新闻实体类,包com.andyidea.listview中paginationListViewActivity.java类是用来展示ListView列表。布局layout中包含三个布局文件,分别为:list_item.xml , loadmore.xml , main.xml 。下面分别贴下源码:

layout中的 list_item.xml源码:


layout中loadmore.xml源码:


layout中main.xml源码:


包 com.andyidea.bean中News.java类源码:


包com.andyidea.listview中paginationListViewActivity.java类源码:


最后,运行程序的结果截图如下:


通过上面的截图,当我们点击"查看更多..."按钮时,就会加载下10条记录,当加载完所有的记录后,ListView的底部视图将会移除。


分享到:
评论
1 楼 snso001 2013-05-22  
private void initializeAdapter(){ 
        List<News> newnews = new ArrayList<News>(); 
        for(int i=1;i<=10;i++){ 
            News items = new News(); 
            items.setTitle("Title"+i); 
            items.setContent("This is News Content"+i); 
            news.add(items); 
        } 
        adapter = new PaginationAdapter(news); 
    } 

上面部分该改为:
newnews.addadd(items);
adapter = new PaginationAdapter(newnews); 

相关推荐

Global site tag (gtag.js) - Google Analytics