`
mickey_hou
  • 浏览: 247700 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

android分页处理-1

阅读更多
public class Paging extends Activity implements OnScrollListener
{
   
    private ListView items_list;
   
    /*
     * 最后可视索引
     */
    private int last_index = 0;
   
    /*
     * 一页显示条数
     */
    private int items_count = 10;
   
    /*
     * 数据总长度
     */
    private int data_size = 40;
   
    /*
     * ListView 适配器引用对象
     */
    private PaginationAdapter paging_adapter;
   
    private View load_more_view;
   
    private Button load_more_item;
   
    private Handler handler = new Handler();
   
    private int DELAY_TIME = 2000;
   
    /**
     * Called when the activity is first created.
     */
    @Override
    public void onCreate(Bundle savedInstanceState)
    {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
       
        load_more_view = getLayoutInflater().inflate(R.layout.loadmore, null);
       
        /*
         * dispose Load Items
         */
        disposeLoadItems();
       
        items_list = (ListView)findViewById(R.id.lvNews);
        items_list.addFooterView(load_more_view); 
        initializeAdapter();
        items_list.setAdapter(paging_adapter);
        items_list.setOnScrollListener(this);
       
    }
   
    /**
     *
     * @param
     * @return void
     * @throws
     * @since TianTian
     */
    public void onScrollStateChanged(AbsListView view, int scrollState)
    {
         int itemsLastIndex = paging_adapter.getCount()-1;  //数据集最后一项的索引
         int lastIndex = itemsLastIndex + 1;
         if (scrollState == OnScrollListener.SCROLL_STATE_IDLE && last_index == lastIndex)
         {
             // 如果是自动加载,可以在这里放置异步加载数据的代码
             Log.v("-----------", "-------------------");
             load_more_item = (Button)load_more_view.findViewById(R.id.loadMoreButton);
             load_more_item.setText("正在加载中...");
             handler.postDelayed(new Runnable()
             {
                  @Override
                  public void run()
                  {
                      loadMoreData();
                      paging_adapter.notifyDataSetChanged();
                      load_more_item.setText("查看更多...");  //恢复按钮文字
                  }
              },DELAY_TIME);
            
             paging_adapter.notifyDataSetChanged();
         }
     }
   
    /**
     *
     * @param
     * @return void
     * @throws
     * @since TianTian
     */
    public void onScroll(AbsListView view, int firstVisibleItem,int visibleItemCount, int totalItemCount)
    {
         this.items_count = visibleItemCount;
        
         last_index = firstVisibleItem + visibleItemCount - 1;
         
         Log.e("========================= ","========================");
         Log.e("items_count = ",items_count+"");
         Log.e("firstVisibleItem = ",firstVisibleItem+"");
         Log.e("visibleItemCount = ",visibleItemCount+"");
         Log.e("totalItemCount = ",totalItemCount+"");
         Log.e("========================= ","========================");
         
         //如果所有的记录选项等于数据集的条数,则移除列表底部视图
         if(totalItemCount == data_size + 1)
         {
             items_list.removeFooterView(load_more_view);
             Toast.makeText(this, "数据全部加载完!", Toast.LENGTH_LONG).show();
         }
     }
分享到:
评论

相关推荐

    Android-Android分页库

    本知识点主要聚焦于Android分页库的使用和实现,尤其是通过开源库来简化这一过程。 Android分页库通常提供以下功能: 1. **动态加载**:当用户滚动到页面底部时,自动请求下一页数据。 2. **预加载**:在用户到达...

    android分页加载数据

    总之,Android分页加载数据是一个涉及到多个层面的技术问题,包括UI交互、网络请求、数据处理、缓存策略等。合理运用各种技术和工具,能帮助我们构建出高效、流畅的分页加载功能。在实际开发中,需要根据项目需求和...

    android-kotlin-fundamentals-apps,Android Kotlin Fundamentals应用程序.zip

    除了基础概念,项目还包括了一些高级主题,如Coroutine(协程)用于异步编程,以及Jetpack库的其他组件,如Navigation(导航)、Paging(分页)等。这些工具和库的使用,使得应用程序的开发更加高效和易于维护。 ...

    android自定义分页控件

    在Android开发中,分页控件是不可或缺的一部分,它能够帮助用户更有效地浏览大量数据,同时减轻服务器压力。本教程将深入探讨如何在Android中创建一个自定义分页控件,以便实现高效、用户友好的界面。 首先,我们...

    android-recyclerview-v7-28.0.0

    1. **RecyclerView基本概念** RecyclerView是一个可滚动的视图,用于显示大量数据集。它取代了ListView,提供了更强大的功能和更高的性能。与ListView相比,RecyclerView允许更灵活的布局管理,并且通过ViewHolder...

    Android gridview分页效果-IT计算机-毕业设计.zip

    在这个“Android gridview分页效果”的项目中,我们将会探讨如何在Android应用程序中实现GridView的分页功能,这对于处理大量数据时提升用户体验至关重要。 首先,GridView的基本用法是通过在XML布局文件中定义一个...

    android-app-master 源代码

    1. **Activity与Intent**:Activity是Android应用的基本构建块,它代表了用户界面的一个屏幕。Intent用于在不同的组件之间进行通信,如启动Activity或Service。 2. **布局设计**:项目可能包含多种XML布局文件,...

    android-recyclerview-v7-25.0.0.jar

    1. **RecyclerView简介** RecyclerView是一个用于显示列表数据的视图容器,由Google在Android Support Library v7包中提供。它引入了ItemDecoration和ItemAnimator,使得列表的动画效果和布局管理更加灵活,提升了...

    android Gridview分页实现

    当我们处理大量数据时,分页加载可以提高应用性能,减少内存消耗,并提供更好的用户体验。本篇文章将详细讲解如何在Android中利用GridView实现分页加载功能。 首先,理解GridView的基本概念。GridView是ListView的...

    java语言的Android分页模板

    Java语言是Android开发的主要编程语言,因此理解如何使用Java实现Android分页至关重要。本节将深入探讨Android分页模板的实现,以及如何结合Ajax技术提高应用性能。 一、分页基础 分页的基本思想是将大量数据分...

    Android 分页 刷新

    1. **ListView**:ListView是Android早期用于显示大量数据的组件,它允许滚动和复用视图,以优化内存使用。不过,由于其存在性能和复用问题,现在已经逐渐被RecyclerView替代。 2. **RecyclerView**:RecyclerView...

    android 分页加载数据 实例

    在Android应用开发中,分页加载数据是一种常见的优化策略,特别是在显示大量数据的列表或网格视图中,如ListView、RecyclerView等。这个实例主要讲解如何实现在用户滚动到列表底部时,动态地从服务器获取更多数据并...

    android表单分页效果

    在Android开发中,当应用程序需要显示大量的数据时,通常会采用分页加载的方式来优化用户体验,避免一次性加载所有数据导致的性能问题和用户界面卡顿。本篇将详细讲解如何实现Android表单的分页效果,以`Listview`为...

    在Android中用textview实现简单的小说分页

    综上所述,实现Android中的小说分页功能涉及多个层面,包括自定义Adapter的设计、文本处理、UI布局、性能优化以及事件处理。通过这样的实践,我们可以创建一个用户友好的阅读体验,同时也可以锻炼对Android SDK和...

    Android-一个快速实现RecyclerView分页加载的轻量级库

    例如,`Paging库`是Google官方提供的用于Android的分页库,它可以与Room数据库和网络API无缝集成,实现高效、自动化的分页加载。 四、使用轻量级库的步骤 1. 添加依赖:首先,需要在项目的build.gradle文件中添加...

    android-support-v7-recyclerview.jar

    在处理大量数据时,相比ListView,RecyclerView能更有效地管理视图,只加载屏幕可见的视图项,从而节省内存并提高性能。这得益于其ViewHolder模式,该模式将视图状态保存在一个对象中,减少了findViewById()的调用...

    Android-Android-FileBrowser-FilePicker一个Android文件浏览和选择控件

    5. **权限处理**:自动处理Android的存储权限请求,确保在需要时向用户请求访问文件系统的权限。 6. **易于集成**:简单的API接口,使得开发者能够快速将文件选择功能集成到自己的项目中。 **使用步骤:** 1. **...

    android分页加载

    本篇文章将详细探讨Android分页加载的原理、实现方式以及最佳实践。 一、分页加载的原理 分页加载的基本思想是将大量数据分为若干小部分(即页),每次只加载用户当前看到的那一部分。当用户滚动到页面底部时,...

    android 分页显示图片

    1. 分页原理: 分页加载的基本思想是将数据集分成若干个部分,每次只加载一部分(一页)数据,当用户滚动到页面底部时,再动态加载下一页。对于图片加载,这意味着我们首先加载屏幕可见的图片,随着用户滚动,后台会...

    Android开发之数据库的分页查询代码

    在Android应用开发中,数据库是数据存储的重要方式,特别是在处理大量数据时,为了提高用户体验,分页查询就显得尤为重要。本篇文章将详细讲解如何在Android中实现数据库的分页查询功能,以高效、流畅地加载和展示...

Global site tag (gtag.js) - Google Analytics