如何添加进度条以在Firebase RecyclerView中加载 [英] how to add progressbar for loading in Firebase RecyclerView

查看:73
本文介绍了如何添加进度条以在Firebase RecyclerView中加载的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在开发一个Android应用程序.该应用程序使用 FirebaseRecyclerAdapter 从Firebase获取数据,并且我需要在该 Recyler View 中实现一个 ProgressBar

I am developing an Android app The App fetches the data from Firebase using FirebaseRecyclerAdapter and I need to implement a ProgressBar in that Recyler View.

如何在加载数据之前在RecyclerView中添加RrogressBar.数据加载后,需要关闭加载屏幕

How to add RrogressBar in RecyclerView before the data is loaded..and after the data is loaded the loading screen need to be Dismiss

代码:

protected void onStart() {
    super.onStart();

    DatabaseReference reference = FirebaseDatabase.getInstance().getReference().child("Vacancy");

    FirebaseRecyclerOptions<VacancyModel> options = new FirebaseRecyclerOptions.Builder<VacancyModel>()
            .setQuery(reference.orderByChild("companyname"), VacancyModel.class)
            .build();


    FirebaseRecyclerAdapter<VacancyModel, VacancyViewHolder> adapter =
            new FirebaseRecyclerAdapter<VacancyModel, VacancyViewHolder>(options) {

                @Override
                protected void onBindViewHolder(@NonNull VacancyViewHolder holder, int position, @NonNull final VacancyModel model) {

                    jprog.setVisibility(View.VISIBLE);


                    holder.vacompany_name.setText(model.getCompanyname());
                    holder.vajob_type.setText("Job Title: " + model.getJob_title());
                    holder.vatiming.setText(model.getTiming());
                    holder.vatotal_vacancy.setText("Total Vacancy: " +model.getTotal_vacancy());
                    holder.vasp.setText(model.getS_p());
                    holder.vaexpected_vasalary.setText("Expected Salary: " +model.getExpexted_salary());
                    holder.vaarea.setText("Area: " +model.getPincode());
                    holder.vaphone_number.setText("Contact Number: " +model.getContact_number());



                    holder.itemView.setOnClickListener(new View.OnClickListener() {
                        @Override
                        public void onClick(View view) {


                            Intent intent = new Intent(Home.this, VacancyViewActivity.class);
                            intent.putExtra("pid", model.getCompanyID());
                            startActivity(intent);

                        }

                    });
                }


                @NonNull
                @Override
                public VacancyViewHolder onCreateViewHolder(@NonNull ViewGroup viewGroup, int i) {
                    View view = LayoutInflater.from(viewGroup.getContext()).inflate(R.layout.vacancy_list_item, viewGroup, false);
                    VacancyViewHolder holder = new VacancyViewHolder(view);
                    return holder;
                }

            };

    recyclerView.setAdapter(adapter);
    adapter.startListening();


}

推荐答案

由于使用的是 FirebaseRecyclerAdapter ,因此可以在适配器类中覆盖 onDataChanged()方法.因此,创建一个 ProgressBar 的新对象,并开始在 onCreate()方法中显示它,或者,如果需要,可以将其直接添加到您的.XML文件中.最后,在您的适配器类中,使用以下代码行:

Because you are using FirebaseRecyclerAdapter, you can override the onDataChanged() method in your adapter class. So create a new object of ProgressBar and start showing it in the onCreate() method, or if you want, you can add it directly in your .XML file. Finally in your adapter class, use the following lines of code:

@Override
public void onDataChanged() {
    if (progressBar != null) {
        progressBar.setVisibility(View.GONE);
    }
}

这篇关于如何添加进度条以在Firebase RecyclerView中加载的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆