Java 无法使用FirbaseUI和Cloud Firestore访问Recyclerview位置

Java 无法使用FirbaseUI和Cloud Firestore访问Recyclerview位置,java,android,firebase,google-cloud-firestore,firebaseui,Java,Android,Firebase,Google Cloud Firestore,Firebaseui,我正在将我的应用程序从Firebase数据库迁移到Firebase Cloud Firestore 以前,我使用FirebaseUI作为实时数据库。初始化所有选项并在实时数据库中创建适配器后,我在RecyclerView视图上调用.setOnClickListener以导航到新活动: holder.mView.setOnClickListener(new View.OnClickListener() { @Override

我正在将我的应用程序从Firebase数据库迁移到Firebase Cloud Firestore

以前,我使用FirebaseUI作为实时数据库。初始化所有选项并在实时数据库中创建适配器后,我在RecyclerView视图上调用.setOnClickListener以导航到新活动:

holder.mView.setOnClickListener(new View.OnClickListener() {
                    @Override
                    public void onClick(View view) {
                        Intent toClickedPoll = new Intent(getActivity(), PollHostActivity.class);
                        toClickedPoll.putExtra("POLL_ID", mFireAdapter.getRef(holder.getAdapterPosition()).getKey());
                        startActivity(toClickedPoll);

                    }
                });
我传递的额外数据是Firebase实时数据库中位置的密钥

我正试图通过FirebaseUI访问云Firestore的相同密钥。下面是我的代码:

  mFirestoreAdaper = new FirestoreRecyclerAdapter<Poll, PollHolder>(storeOptions) {
            @Override
            protected void onBindViewHolder(@NonNull final PollHolder holder, int position, @NonNull Poll model) {
                holder.mPollQuestion.setText(model.getQuestion());
                String voteCount = String.valueOf(model.getVote_count());
                //TODO: Investigate formatting of vote count for thousands
                holder.mVoteCount.setText(voteCount);
                Picasso.with(getActivity().getApplicationContext())
                        .load(model.getImage_URL())
                        .fit()
                        .into(holder.mPollImage);
                holder.mView.setOnClickListener(new View.OnClickListener() {
                    @Override
                    public void onClick(View view) {
                        Intent toClickedPoll = new Intent(getActivity(), PollHostActivity.class);
                        String position = String.valueOf(mFirestoreAdaper.getItemId(holder.getAdapterPosition()));
                        Log.v("Firestore ID", position);
                        toClickedPoll.putExtra("POLL_ID", position);
                        startActivity(toClickedPoll);

                    }
                });
            }
现在,我记录的位置变量返回-1。我基本上希望它返回以下投票文件:

试试这个:

   String positions = getSnapshots().getSnapshot(position).getId();
   Log.v("Firestore ID", positions);
   toClickedPoll.putExtra("POLL_ID", positions);
与此相反:

    String position = String.valueOf(mFirestoreAdaper.getItemId(holder.getAdapterPosition()));
                    Log.v("Firestore ID", position);
                    toClickedPoll.putExtra("POLL_ID", position);

很有魅力,非常感谢!