gpt4 book ai didi

Android - ListView 在到达结束时加载更多项目

转载 作者:IT老高 更新时间:2023-10-28 23:11:02 26 4
gpt4 key购买 nike

我已经成功实现了一个 listView,其中每一行都是我创建的一个对象。我有一个接口(interface),它读取一些对象并返回它们的数组,我将其传递给适配器构造函数。我想要做的是,由于列表可能很长,我的界面允许每次阅读更多项目(第 0 页,第 1 页......)所以我想要,当用户到达列表的最后一行时,加载下一页并将其插入到 listView。这样做的正确方法是什么?我实际上希望“到达列表末尾”触发回调,我可以在其中请求更多页面并将它们加载到列表中。我的主要问题有点 OT,但我不介意使用 baseAdapter,两者都可以,我只是不知道什么对任务更好。

最佳答案

您可以在 listView 上添加一个页脚,该页脚将有一个名为 LoadMore 的按钮。这是一个完整的教程ListView with Load More Button 或者您可以实现 onscrolllistener() 并将此监听器添加到您的 ListView

public void onScroll(AbsListView view, int firstVisibleItem, int visibleItemCount, int totalItemCount) {
this.currentFirstVisibleItem = firstVisibleItem;
this.currentVisibleItemCount = visibleItemCount;
}

public void onScrollStateChanged(AbsListView view, int scrollState) {
this.currentScrollState = scrollState;
this.isScrollCompleted();
}

private void isScrollCompleted() {
if (this.currentVisibleItemCount > 0 && this.currentScrollState == SCROLL_STATE_IDLE) {
/*** In this way I detect if there's been a scroll which has completed ***/
/*** do the work for load more date! ***/
if(!isLoading){
isLoading = true;
loadMoreData();
}
}
}

希望对你有帮助

关于Android - ListView 在到达结束时加载更多项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20458475/

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