Как получить идентификатор документа в пожарном магазине Android - PullRequest
0 голосов
/ 06 апреля 2020

Я пытаюсь получить идентификатор документа в firestore, но я получаю случайный сгенерированный идентификатор откуда-то, я не знаю, откуда он получает этот случайный идентификатор и почему. Я пытаюсь запросить его в recyclerAdapter мой code:

   @Override
public void onBindViewHolder(@NonNull ViewHolder holder, final int position) {
    Log.d(TAG, "onCreateViewHolder: Called");

    Glide.with(mContext)
            .asBitmap()
            .load(mCategoryImages.get(position))
            .into(holder.CategoryImageView);

    holder.CategoryTextView.setText(mCategoryTittle.get(position));

    holder.CategoryTextView.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {

            mFirestore = FirebaseFirestore.getInstance();
            // Get the 50 highest items
            String id = mFirestore.collection("Categories")
                    .document("tUdFCajDcQT995jX6G4k")
                    .collection(mCategoryTittle.get(position))
                    .document().getId();
            Toast.makeText(mContext, id, Toast.LENGTH_SHORT).show();
            Log.d(TAG, "onClick: DocumentID: " + id);
        }
    });
}

Я пытался жестко запрограммировать название коллекции, даже после этого она получала какой-то случайный идентификатор!

журнал, в котором я щелкаю одно и то же имя элемента, но получаю другой DocumentID моя консоль 2020-04-06 23: 23: 05.413 21856-21856 /? D / CategoryMainListAdapter: onClick: DocumentID: qB79K0LsLllg28pzSyPy 2020-04-06 23: 23: 07.618 21856-21856 /? D / CategoryMainListAdapter: onClick: DocumentID: uDumu9NngxsTmtCRuJUs 2020-04-06 23: 23: 08.705 21856-21856 /? D / CategoryMainListAdapter: onClick: DocumentID: VmHxk0eUR9mZic5Mrgq c

1 Ответ

0 голосов
/ 06 апреля 2020

Замените фрагмент кода onClick следующим кодом:

    mFirestore.collection("Categories")
            .document("tUdFCajDcQT995jX6G4k")
            .collection(mCategoryTittle.get(position))
            .document().get().addOnSuccessListener(documentSnapshot -> {
        String id = documentSnapshot.getId();
    });
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...