Как реализовать ProgressBar в FireBaseHandler - PullRequest
0 голосов
/ 31 мая 2018

У меня проблема, у Fragment есть контент, и я хочу добавить простую ProgressBar во время загрузки контента Firebase.Как я могу это сделать и где?(Я пытаюсь добавить onDataChange, но он не работает, код ниже)

public void onDataChange(DataSnapshot dataSnapshot) {
            progressBar.setVisibility(View.VISIBLE);
            mContentLayout.setVisibility(LinearLayout.GONE);

            for (final DataSnapshot snapshot : dataSnapshot.getChildren()) {
                item = snapshot.getValue(Item.class);
                if(item.isSales()) {
                    arrayOfItemProduct.add(item);
                }
            }
            adapter.notifyDataSetChanged();

            progressBar.setVisibility(View.GONE);
            mContentLayout.setVisibility(LinearLayout.VISIBLE);
        }

1 Ответ

0 голосов
/ 31 мая 2018

Чтобы справиться с этим, вы можете добавить в файл макета .XML вашего фрагмента следующие строки кода:

<ProgressBar
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:id="@+id/progress_bar"
    android:layout_centerInParent="true"
    style="@style/Widget.AppCompat.ProgressBar"/>

Это означает, что при каждом запуске фрагмента будет отображаться ProgressBar.

Определите переменную progressBar как глобальную переменную, а затем найдите ее в вашем fragmnet в методе onCreateView() следующим образом:

progressBar = yourFragmentView.findViewById(R.id.progress_bar);

А затем в своем методе onDataChange() используйтеследующий код:

if (progressBar != null) {
    progressBar.setVisibility(View.GONE);
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...