【问题标题】:How to display loading progressbars for each recyclerview in android?如何在android中显示每个recyclerview的加载进度条?
【发布时间】:2017-01-23 01:16:56
【问题描述】:

我有一个屏幕,里面有两个recyclerviews(一个是水平的,另一个是垂直的),现在当用户来到这个屏幕时,我正在做一个休息调用来填充数据到两个回收器视图。一个休息调用水平 recyclerview 和另一个调用第二个 recyclerview 的休息。

我的问题是我如何显示水平回收器视图的旋转循环进度和垂直回收器视图的旋转循环进度。因为两个休息调用都是独立的,我不想只显示整个活动的一个进度条。

我没有尝试过任何代码。

【问题讨论】:

  • 你想在每个recyclerviews中显示什么类型的数据
  • 所以只需在 webservice 调用开始时启动进度条并在调用结束时停止它这里有什么问题??

标签: android android-recyclerview


【解决方案1】:

在你定义recyclerview的布局文件中,在每个recyclerview上面放一个进度条,加载数据时会出现进度条,加载完成后,设置进度条的可见性为VIEW.INVISIABLE

【讨论】:

  • 好主意,但是我如何使循环进度居中(不将重力设置为水平中心),因为我在嵌套滚动视图中。
  • 您可以先将recyclerview和progressbar嵌套在RelativeLayout中,然后再放到scrollview中。
  • 因为你有一个复杂的需求:)
【解决方案2】:

具体布局由你自己安排。

layout/my_layout.xml

<ProgressBar
    android:id="@+id/pb_vertical"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    />
<android.support.v7.widget.RecyclerView
    android:visibility="gone"
    android:id="@+id/rv_vertical"
    android:layout_width="match_parent"
    android:layout_height="100dp"
    android:scrollbars="vertical" 
    />

<ProgressBar
    android:id="@+id/pb_horizontal"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    />
<android.support.v7.widget.RecyclerView
    android:visibility="gone"
    android:id="@+id/rv_horizontal"
    android:layout_width="match_parent"
    android:layout_height="100dp"
    android:scrollbars="horizontal" 
    />

MyActivity.java

private void showVerticalContent() {
    // when vertical content is fetched
    pb_vertical.setVisibility(View.GONE);
    rv_vertical.setVisibility(View.VISIBLE);
}

private void showHorizontalContent() {
    // when horizontal content is fetched
    pb_horizontal.setVisibility(View.GONE);
    rv_horizontal.setVisibility(View.VISIBLE);
}

【讨论】:

    【解决方案3】:

    当你点击你的rest api时,在你的progressBar上使用View.VISIBLE来指示数据加载,并在将数据填充到你的recyclerView2之后,在你的progressBar上使用View.GONE来隐藏它。

    【讨论】:

    • 我不想要每个 recyclerview 项目的进度条,我想要整个 recyclerview 的进度,直到我将数据填充到其中
    猜你喜欢
    • 2021-05-07
    • 1970-01-01
    • 2021-09-06
    • 2018-08-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多