如果查询或路径中有数据,它会在 FirestoreRecyclerAdapter 中显示数据。但是当该路径上没有数据时

If there is data in query or Path it show data in FirestoreRecyclerAdapter. but when there is no data at that path

我使用 FirestoreRecyclerAdapter 进行查询。我显示加载直到它没有进入 onBindViewHolder()。如果涉及到 onBindViewHolder 然后我关闭对话框。

但在我的场景中,没有数据进入查询,也没有进入 onBindViewHolder,所以无论如何我都找不到关闭它的方法。这是我的代码。请帮忙。

Query query = GlobalApplication.applianceRef.whereEqualTo("applianceType", appType);

FirestoreRecyclerOptions < RoomAppliance > response = new FirestoreRecyclerOptions.Builder < RoomAppliance > ()
    .setQuery(query, RoomAppliance.class)
    .build();

if (dialog != null) {
    dialog.show();
}

adapter = new FirestoreRecyclerAdapter < RoomAppliance, ApplianceActivity.ViewHolder > (response) {
    @Override
    public void onBindViewHolder(final ApplianceActivity.ViewHolder holder, final int position, final RoomAppliance model) {
        dialog.dismiss();
    }

    @Override
    public ApplianceActivity.ViewHolder onCreateViewHolder(ViewGroup group, int i) {
        View view = null;
        try {
            view = LayoutInflater.from(group.getContext())
                .inflate(R.layout.user_appliance, group, false);
        } catch (Exception e) {
            Log.e("error", e.getMessage());
        }
        return new ApplianceActivity.ViewHolder(view);
    }
};

我得到答案

  @Override
                    public void onDataChanged() {
                        if(dialog != null && dialog.isShowing()){
                            dialog.dismiss();

                        }

                        if(getItemCount() == 0){

                            remoteListRV.setVisibility(View.GONE);
                            msgTv.setVisibility(View.VISIBLE);
                            msgTv.setText("No "+ appType +" Available  !!!!");


                        }else {

                            remoteListRV.setVisibility(View.VISIBLE);
                            msgTv.setVisibility(View.GONE);

                        }

                    }