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

pra*_*tim 2 android android-listview

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

mml*_*loo 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();

            }
        }
    });
Run Code Online (Sandbox Code Playgroud)

在功能上loadData你做了类似的事情:

 public void loadData() {

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