在片段的 RecyclerView 中没有收到任何值

Didnt receive any value in RecycleView in my fragment

以前我成功地在我的应用程序中列出了来自 Cloud Firestore 的数据。但是现在我正在尝试实现列出片段中数据的 RecyclerView 但我没有得到结果。该片段显示空结果。这是我的代码

ReviewFragment.java

public class ReviewFragment extends Fragment {
    private FirebaseFirestore db = FirebaseFirestore.getInstance();
    private CollectionReference userRef = db.collection("Users");
    private UserAdapter adapter;

    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {

        View view =  inflater.inflate(R.layout.fragment_review,container,false);
        Query query = userRef.orderBy("name",Query.Direction.ASCENDING);
        FirestoreRecyclerOptions<Userz> options = new FirestoreRecyclerOptions.Builder<Userz>()
                .setQuery(query,Userz.class)
                .build();
        adapter = new UserAdapter(options);
        RecyclerView recyclerView = (RecyclerView)view.findViewById(R.id.rvReview);
        recyclerView.setHasFixedSize(true);
        RecyclerView.LayoutManager layoutManager = new LinearLayoutManager(this.getActivity());
        recyclerView.setLayoutManager(layoutManager);
        recyclerView.setAdapter(adapter);
        return view;
    }

}

UserAdapter.java

public class UserAdapter extends FirestoreRecyclerAdapter <Userz,UserAdapter.UserHolder>{


    /**
     * Create a new RecyclerView adapter that listens to a Firestore Query.  See
     * {@link FirestoreRecyclerOptions} for configuration options.
     *
     * @param options
     */
    public UserAdapter(FirestoreRecyclerOptions<Userz> options) {
        super(options);
    }

    @Override
    protected void onBindViewHolder(UserHolder userHolder, int i, Userz userz) {
        userHolder.textViewName.setText(userz.getName());
        userHolder.textViewStatus.setText(userz.getStatus());
        userHolder.textViewMessage.setText(userz.getMessages());
    }

    @NonNull
    @Override
    public UserHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
        View v = LayoutInflater.from(parent.getContext()).inflate(R.layout.cardview,parent,false);
        return new UserHolder(v);
    }

    class UserHolder extends RecyclerView.ViewHolder{
        TextView textViewName;
        TextView textViewMessage;
        TextView textViewStatus;
        public UserHolder(View itemView) {
            super(itemView);
            textViewName = itemView.findViewById(R.id.name);
            textViewMessage = itemView.findViewById(R.id.messages);
            textViewStatus = itemView.findViewById(R.id.status);
        }
    }
}

FirestorePagingAdapter 生命周期 Start/stop 聆听 FirestorePagingAdapter 侦听滚动事件并仅在需要时从数据库加载其他页面。

要开始填充数据,请调用 startListening() 方法。您可能想在 onStart() 方法中调用它。在调用 startListening() 之前,请确保您已完成读取数据所需的任何身份验证,否则您的查询将失败。

protected void onStart() {
    super.onStart();
    adapter.startListening();
}
Similarly, the stopListening() call freezes the data in the RecyclerView and prevents any future loading of data pages.

Call this method when the containing Activity or Fragment stops:

@Override
protected void onStop() {
    super.onStop();
    adapter.stopListening();
}

自动监听 如果您不想手动 start/stop 监听,您可以使用 Android 架构组件来自动管理 FirestorePagingAdapter 的生命周期。 将 LifecycleOwner 传递给 FirestorePagingOptions.Builder#setLifecycleOwner(...),FirebaseUI 将自动启动和停止监听 onStart() 和 onStop()。

Github https://github.com/firebase/FirebaseUI-Android/tree/master/firestore

您的适配器中没有 getCount() 方法 class。实施方法和 return 列表大小。