Метод getKey в Firebase не возвращает точный сгенерированный идентификатор push - PullRequest
0 голосов
/ 03 июля 2019
  edit = (EditText) findViewById(R.id.addCat);
          addCate = edit.getText().toString();
          Catcat add;
          String x = myRef.child("sfasf").push().getKey();
       add= new Catcat(addCate,x);
       myRef.push().setValue(add);

Когда я использую этот код, строка x отличается от фактического идентификатора push на 1 букву в конце. Это преднамеренно или я использую метод неправильно?

1 Ответ

1 голос
/ 03 июля 2019

Вы дважды позвонили push(), что приводит к двум разным клавишам.Есть несколько способов поместить объект в Firebase и получить ключ.

Сначала вы можете получить ключ, а затем использовать ключ для получения и обновления дочернего элемента.

String x = myRef.child("sfasf").push().getKey();
add = new Catcat(addCate,x);
myRef.child("sfasf").child(x).setValue(add);

ИлиВы можете сначала нажать на объект, а затем получить ключ.

add = new Catcat(addCate,x);
DatabaseReference ref = myRef.child("sfasf").push(add)
String x = ref.getKey()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...