You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Android ListView滚动加载后Spinner/Loader无法隐藏问题求助

解决ListView搜索后加载Spinner残留问题

核心原因

这个残留的加载Spinner,应该是作为ListView的Footer View动态添加的。搜索后条目数量减少,ListView滚动范围缩小,但Footer View未被正确移除或隐藏,导致它持续显示。

具体解决方法

  • 保存Footer View引用
    初始化加载更多功能时,把Spinner对应的Footer View实例保存为类成员变量,方便后续操作:

    // 示例:加载自定义的加载更多Footer布局
    View loadMoreFooter = getLayoutInflater().inflate(R.layout.layout_load_more, null);
    listPartenaires.addFooterView(loadMoreFooter);
    
  • 搜索完成后处理Footer状态
    搜索结束、更新Adapter数据后,根据当前数据量处理Footer:

    • 若当前已是全部数据(无更多可加载),直接移除Footer:
      if (listPartenaires.getFooterViewsCount() > 0) {
          listPartenaires.removeFooterView(loadMoreFooter);
      }
      
    • 若还有更多数据,但当前条目少导致Footer暴露,先隐藏Footer,后续需要加载时再恢复显示:
      loadMoreFooter.setVisibility(View.GONE);
      
  • Adapter更新后同步状态
    调用adapter.notifyDataSetChanged()更新数据后,立即执行上述Footer判断逻辑,确保视图状态与数据匹配。

  • 重置滚动监听状态
    如果ListView有滚动监听触发加载更多,搜索后要重置isLoading这类状态标记为false,避免状态混乱导致Footer错误显示。


内容的提问来源于stack exchange,提问作者Kevin

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.05 22:37:06