当新数据在循环中连续加载而无需用户滚动时,我在 gridview 中实现 setOnScrollListener 时遇到问题。我想等待用户滚动到末尾然后才加载新数据。如何做到这一点?这是给我无限循环而无需滚动的代码:
gv.setOnScrollListener(new EndlessScrollListener() {
@Override
public boolean onLoadMore(int page, int totalItemsCount) {
load_more_data();
// Triggered only when new data needs to be appended to the list
// Add whatever code is needed to append new items to your AdapterView
// customLoadMoreDataFromApi(page);
// or customLoadMoreDataFromApi(totalItemsCount);
return true; // ONLY if more data is actually being loaded; false otherwise.
}
});
最佳答案
OnScrollListener ,具有 onScroll
,它为您提供有关 firstVisibleItem
的信息、第一个可见单元格的索引、visibleItemCount
、可见单元格的数量和 totalItemCount
列表适配器中的项目数。如果你用下面的方法实现
@Override
public void onScroll(AbsListView view, int firstVisibleItem, int visibleItemCount, int totalItemCount) {
if ((firstVisibleItem + visibleItemCount) >= totalItemCount - 10) {
load_more_data();
}
}
当达到阈值 totalItemCount - 10
时,您的应用将开始加载下一个项目。
关于java - setOnScrollListener 无限循环并加载而不在 GridView 中滚动?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33144369/