在 RecyclerView 列表之后显示 ProgressBar
Posted
技术标签:
【中文标题】在 RecyclerView 列表之后显示 ProgressBar【英文标题】:Show ProgressBar after the RecyclerView list 【发布时间】:2021-06-29 00:45:16 【问题描述】:我想在 RecyclerView 的列表结束后显示 ProgressBar。当前,当我向下滚动显示最后一项的 ProgressBar 并且当新帖子获取最后一项时消失了。 在谷歌上搜索但找不到答案,我是新开发者,请帮助
这是我的 xml:
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_
android:layout_
app:layout_behavior="@string/appbar_scrolling_view_behavior">
<androidx.recyclerview.widget.RecyclerView
android:layout_
android:layout_
android:id="@+id/recycler_view">
</androidx.recyclerview.widget.RecyclerView>
<RelativeLayout
android:layout_
android:layout_>
<ProgressBar
android:layout_
android:layout_
android:id="@+id/progressbar"
android:layout_below="@+id/recycler_view"
android:layout_alignParentBottom="true"
android:layout_centerHorizontal="true"
tools:ignore="NotSibling" />
</RelativeLayout>
</androidx.constraintlayout.widget.ConstraintLayout>
进度条:
recyclerView.addOnScrollListener(new RecyclerView.OnScrollListener()
@Override
public void onScrolled(RecyclerView recyclerView, int dx, int dy)
if (!recyclerView.canScrollVertically(1) && dy > 0)
//check for scroll down
visibleItemCount = mLayoutManager.getChildCount();
totalItemCount = mLayoutManager.getItemCount();
pastVisiblesItems = mLayoutManager.findFirstVisibleItemPosition();
if ((visibleItemCount + pastVisiblesItems) >= totalItemCount)
if (!loading)
progressBar.setVisibility(View.VISIBLE);
loading = true;
yourURL = baseURL + baseModel + "&page=" + pageNo++;
getRetrofit();
【问题讨论】:
【参考方案1】:要在 recycleView 中添加进度条,您必须使用 pagination3。 在 pagination3 中,他们提供了如何在网络慢时显示进度条,如果网络不存在,则会显示重试按钮,因此我建议您阅读有关 Pagination3 的文章,它将解决所有问题。
【讨论】:
以上是关于在 RecyclerView 列表之后显示 ProgressBar的主要内容,如果未能解决你的问题,请参考以下文章
RecyclerView 适配器 - 列表正在更新,但视图没有
Android:RecyclerView 不显示片段中的列表项