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

标签 java android firebase firebase-realtime-database firebaseui

我正在开发一个 Android 应用 该应用使用 FirebaseRecyclerAdapter 从 Firebase 获取数据我需要实现 ProgressBar在那Recyler View .

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 文件中。最后在您的适配器类中,使用以下代码行:

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

关于java - 如何在 Firebase RecyclerView 中添加加载进度条,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57507615/

相关文章:

java - java 垃圾收集日志条目 "Full GC (System)"是否意味着某个名为 System.gc() 的类?

java - 在 Java 构建过程中更改常量的最佳方法

java - 在 spring Boot 中使用 Dao 设计模式,而不是使用 spring data jpa 提供的存储库设计模式,这是一个好主意吗?

java - 输入字符串时从字符串中删除字符

java - ListView 滚动时仅显示行

Android Studio 助手 : No clients were able to be added to your Firebase project

java - 如何在struts2 + jfreechart中在同一页面上显示图表

android - 使用phonegap应用进行测试时,声音会在PhoneGap中播放,但在使用PhoneGap Build构建声音时不会播放

android - 应用程序终止时从 FCM 启动 Activity ?

android - 如何从 firebase 数据库中检索包含子名称的字符串列表?