【问题标题】:How can I implement paging in listview in android?如何在android的listview中实现分页?
【发布时间】:2017-01-11 01:22:51
【问题描述】:

我想创建一个应用程序,其中我有 100 个 uri 的图像保存在数据库中。现在我希望整个数据不会从数据库中获取,只显示在列表视图中。我希望我只获取列表的当前视图屏幕的数据,因此我滚动列表的下一个项目将获取下一个数据项目,因此应用程序在列表视图中显示数据不会很慢。

【问题讨论】:

    标签: android listview


    【解决方案1】:

    冗长的列表视图不会让您的滚动变慢 只需一次获取所有 100 个 uri 并填写适配器; 它会正常工作...

    【讨论】:

      【解决方案2】:

      下面有一个滚动监听器:

      class EndlessScrollListener implements OnScrollListener{
          private static final String TAG = "CacheToDBActivity.EndlessScrollListener";
          private boolean loading = true;
      
          @Override
          public void onScroll(AbsListView view, int firstVisibleItem,int visibleItemCount, int totalItemCount) {
              if (!(loading) && (totalItemCount - visibleItemCount) <= (firstVisibleItem)) {
                  Log.d(TAG, "Load Next Page!");
                  loading = true;
              }
          }
      
          @Override
          public void onScrollStateChanged(AbsListView view, int scrollState) {}
      
          public boolean isLoading() {
              return loading;
          }
      
          public void setLoading(boolean loading) {
              this.loading = loading;
          }
      
      }
      

      您可以实例化一个 EndlessScrollListener 并将您的列表视图的 onScrollListener 设置为:

      yourListView.setOnScrollListener(endlessScrollListener);
      

      在无尽滚动监听器的Log.d(TAG, "Load Next Page!"); 行上方,您可以从数据库中获取项目,并将它们添加到您的适配器。

      致电notifyDataSetChanged();后,您的物品将显示在列表中

      希望对你有帮助

      【讨论】:

        【解决方案3】:

        查看cwac endless adapter实现分页。

        【讨论】:

          猜你喜欢
          • 2013-05-15
          • 2011-05-13
          • 1970-01-01
          • 2016-07-16
          • 2020-05-08
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多