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();
}
}