Обновление данных в Firebase с Android - PullRequest
0 голосов
/ 21 мая 2018

У меня есть база данных в Firebase, такая как this

Итак, я хочу изменить любимое значение, когда пользователь нажимает на избранное.Я пробовал что-то код, но это не меняет любимое значение.

private void uploadSetFavorite(final boolean isSetFavorite) {

    reference.child(Common.FIREBASE_MUSCLE_EXERCISE_CHEST_TABLE).child(Common.EXERCISE_SET_FAVORITE_PROPERTY).addListenerForSingleValueEvent(new ValueEventListener() {
        @Override
        public void onDataChange(DataSnapshot dataSnapshot) {
            for (DataSnapshot snapshot : dataSnapshot.getChildren()) {
                ExerciseMuscleDetail muscleDetail = snapshot.getValue(ExerciseMuscleDetail.class);

                muscleDetail.setFavorite(isSetFavorite);
            }
            mAdapter.notifyDataSetChanged();
        }

        @Override
        public void onCancelled(DatabaseError databaseError) {

        }
    });
}

Когда я отлаживаю, dataSnapshot показывает {ключ = избранное, значение = ноль}.Кто-нибудь может мне помочь?

Ответы [ 2 ]

0 голосов
/ 21 мая 2018

Пожалуйста, попробуйте что-то вроде:

HashMap<String, Object> params = new HashMap<>();
params.put("favourite", true/false);    // with true/false use your desired value
yourDatabaseChildReference.updateChildren(params);

// yourDatabaseChildReference will be your dbName -> table name (chest) -> item name (1 or 2 or so on)
0 голосов
/ 21 мая 2018

попробовать без

.child (Common.EXERCISE_SET_FAVORITE_PROPERTY)

, если оно все еще равно нулю?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...