加载 Firebase 实时数据库时的 ProgressBar [重复]

Posted

技术标签:

【中文标题】加载 Firebase 实时数据库时的 ProgressBar [重复]【英文标题】:ProgressBar while loading Firebase Realtime Database [duplicate] 【发布时间】:2021-09-10 11:43:57 【问题描述】:

我正在使用 Firebase 实时数据库将数据库中的内容显示到 RecyclerView。我的数据库很大,需要一些时间来加载所有内容。如何创建加载数据库内容后消失的 ProgressBar?

这是我用来将 Firebase 内容显示到 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();
    

【问题讨论】:

这能回答你的问题吗? How to show loading message in recyclerview 为了能够隐藏 ProgressBar,请检查重复的答案。 【参考方案1】:

为此,您必须在 onCreateView 上显示您的片段的进度,然后在完成 firebase 成功和失败侦听器时隐藏进度。

我有一个建议,因为你有一个大数据库,你必须收集有限的数据。

例如前 50 条记录

欲了解更多信息,请访问Here

【讨论】:

以上是关于加载 Firebase 实时数据库时的 ProgressBar [重复]的主要内容,如果未能解决你的问题,请参考以下文章

每次firebase实时数据库数据集时,RecyclerView都会重新加载

Flutter:数据更改时的 Firebase 推送通知

Firebase 实时数据库按状态值计算活跃用户数

Firebase 实时数据库定价与查询

我想从firebase实时数据库中显示recyclerview android上的数据..但我无法将动态数据加载到适配器数组中

在 Swift 中的 Firebase 实时数据库观察方法中具有异步函数的 DispatchGroup