Как показать круговой индикатор progressBar с помощью firestoreRecyclerView?

Я использую FirestoreRecyclerView в своем приложении. Я хочу показать ProgressBar, пока
FirestoreRecyclerView загружает данные, и если в RecyclerView нет данных для отображения, тогда покажите TextView, у которого есть текст «данные не найдены». Если есть данные для отображения, скройте как TextView, так и ProgressBar и отобразите данные в RecyclerView. Пожалуйста, объясните, как этого добиться?

Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
0
0
82
1

Ответы 1

Вы можете использовать два макета в качестве дочерних элементов основного макета. Первый макет содержит как TextView, так и ProgressBar, и его видимость установлена ​​на visible.

Второй макет — это FirestoreRecyclerView, для которого установлено значение invisible или gone.

Как только ваш код получит данные для этого 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);

Спасибо за ответ. Но я хочу использовать recyclerview, как этот stackoverflow.com/questions/49277797/…

Akhil Kumar 04.02.2019 16:14

Другие вопросы по теме