如何在 Firebase RecyclerView 中添加加载进度条

how to add progressbar for loading in Firebase RecyclerView

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

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,您可以覆盖适配器 class 中的 onDataChanged() 方法。因此,创建一个 ProgressBar 的新对象并开始在 onCreate() 方法中显示它,或者如果你愿意,你可以直接将它添加到你的 .XML 文件中。最后在您的适配器 class 中,使用以下代码行:

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