gpt4 book ai didi

android - 在 ListView 中检测向上滚动和向下滚动

转载 作者:IT老高 更新时间:2023-10-28 13:14:55 26 4
gpt4 key购买 nike

我有以下要求:

  • 首先,从服务器和项目中获取第 2 页的数据填充在 ListView 中。

考虑到场景中的上一页和下一页都可用,添加如下代码:

 if(prevPageNo > 0){
mListViewActual.setOnScrollListener(this);
}

if(nextPageNo > 0){
mListViewActual.setOnScrollListener(this);
}

我应该设置什么条件来检测以下方法的向上滚动和向下滚动:

  1. void onScroll(AbsListView view, int firstVisibleItem, intvisibleItemCount, int totalItemCount)
  2. void onScrollStateChanged(AbsListView view, int scrollState)

在检测到 Action :向上滚动和向下滚动之后,相应地,将使用 prev page no 或 next page no 调用服务,以获取要填充到 Listview 中的项目。

任何输入都会有所帮助。

浏览了以下链接,但没有返回正确的向上/向下滚动操作:

link 1 link 2

最佳答案

尝试使用 setOnScrollListener 并使用 scrollState 实现 onScrollStateChanged

setOnScrollListener(new OnScrollListener(){
public void onScroll(AbsListView view, int firstVisibleItem, int visibleItemCount, int totalItemCount) {
// TODO Auto-generated method stub
}
public void onScrollStateChanged(AbsListView view, int scrollState) {
// TODO Auto-generated method stub
final ListView lw = getListView();

if(scrollState == 0)
Log.i("a", "scrolling stopped...");


if (view.getId() == lw.getId()) {
final int currentFirstVisibleItem = lw.getFirstVisiblePosition();
if (currentFirstVisibleItem > mLastFirstVisibleItem) {
mIsScrollingUp = false;
Log.i("a", "scrolling down...");
} else if (currentFirstVisibleItem < mLastFirstVisibleItem) {
mIsScrollingUp = true;
Log.i("a", "scrolling up...");
}

mLastFirstVisibleItem = currentFirstVisibleItem;
}
}
});

关于android - 在 ListView 中检测向上滚动和向下滚动,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16791100/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com