如何使用firestoreRecyclerView显示圆形的progressBar?

时间:2019-02-03 14:25:36

标签: java android firebase google-cloud-firestore firebaseui

我在我的应用中使用FirestoreRecyclerView。我想同时显示ProgressBar
FirestoreRecyclerView正在加载数据,如果RecyclerView中没有要显示的数据,请显示TextView,其文本为“找不到数据”。如果要显示数据,则同时隐藏TextViewProgressBar并在RecyclerView中显示数据。请指导如何实现此目标?

1 个答案:

答案 0 :(得分:0)

您可以使用两个布局作为主布局的子布局。 第一个布局同时包含TextViewProgressBar,并且其可见性设置为visible

第二个布局就是FirestoreRecyclerView,它设置为invisiblegone

您的代码收到该RecyclerView的数据后,立即隐藏第一个布局并使RecyclerView可见。

这是一个例子:

MainLayout.xml

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical" android:layout_width="match_parent"
    android:layout_height="match_parent">

    <!-- the progress layout -->
    <RelativeLayout
        android:id="@+id/layout_progress"
        android:visibility="visible"
        android:layout_width="match_parent"
        android:layout_height="match_parent">
        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Loading data"/>
        <ProgressBar
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:max="100"
            android:progress="0"/>
    </RelativeLayout>

    <FirestoreRecyclerView
        android:id="@+id/firestoreRecyclerView"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:visibility="gone" />
</LinearLayout>

代码

//...
//When we received all the data to display in recyclerView, do this
layout_progress.setVisibility(View.GONE);
firestoreRecyclerView.setVisibility(View.VISIBLE);