0

I'm using Firebase Realtime Database to display content from database to RecyclerView. My database is quite big and take some time to load everything. How can i create ProgressBar that disappears after content of database is loaded?

Here is my code, that i use to display Firebase content into RecyclerView:

public class news_kz extends Fragment {

    View view;
    RecyclerView newsRecycler;
    NewsAdapter newsAdapter;

    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
        view = inflater.inflate(R.layout.fragment_news_kz, container, false);

        setUpFirebase();

        return view;
    }

    private void setUpFirebase() {
        newsRecycler = view.findViewById(R.id.newsRecyclerKz);
        LinearLayoutManager linearLayoutManager = new LinearLayoutManager(view.getContext());
        linearLayoutManager.setReverseLayout(true);
        linearLayoutManager.setStackFromEnd(true);
        newsRecycler.setLayoutManager(linearLayoutManager);

        FirebaseRecyclerOptions<NewsItem> options =
                new FirebaseRecyclerOptions.Builder<NewsItem>().setQuery(FirebaseDatabase.getInstance().getReference().child("newsKz"), NewsItem.class).build();

        newsAdapter = new NewsAdapter(options, view.getContext());
        newsRecycler.setAdapter(newsAdapter);
    }

    @Override
    public void onStart(){
        super.onStart();
        newsAdapter.startListening();
    }

    @Override
    public void onStop(){
        super.onStop();
        newsAdapter.stopListening();
    }
}
Frank van Puffelen
  • 565,676
  • 79
  • 828
  • 807
IBlackVikingl
  • 643
  • 2
  • 7
  • 20

1 Answers1

0

For this, you have to show the progress on onCreateView your fragment and then hide the progress on completion of firebase success and failure listener.

And I have one recommendation that as you have a big database you have to collected limited data.

e.g first 50 record

for more info at Here