检查android listview是否向下滚动到最后一项

时间:2014-08-17 14:32:28

标签: android android-listview

我有一个列表视图,其中有几个项目。我想检查列表是否向下滚动到最后一项,在这种情况下我想运行另一种方法。如何做到这一点?

2 个答案:

答案 0 :(得分:5)

首先在构造函数中设置isLoading = false;onCreate方法

  mListView.setOnScrollListener(new OnScrollListener() {

        @Override
        public void onScrollStateChanged(AbsListView view, int scrollState) {

        }

        @Override
        public void onScroll(AbsListView view, int firstVisibleItem, int visibleItemCount, int totalItemCount) {
            if (mListView.getAdapter() == null)
                return ;

            if (mListView.getAdapter().getCount() == 0)
                return ;

            int l = visibleItemCount + firstVisibleItem;
            if (l >= totalItemCount && !isLoading) {
                // It is time to add new data. We call the listener
                isLoading = true;
                loadData();

            }
        }
    });

并在函数loadData中执行以下操作:

 public void loadData() {

    // send your request
   // receive it by callback or asynctask
   yourDataList.addAll(newItems);
   adapter.notifyDataSetChanged();
   isLoading = false;
}

答案 1 :(得分:0)

查看listView.getLastVisiblePosition()