我在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显示{key = favorite,value = null}。 有人可以帮帮我吗?
答案 0 :(得分:0)
尝试不用
.child(Common.EXERCISE_SET_FAVORITE_PROPERTY)
如果它仍然为空?
答案 1 :(得分:0)
请尝试以下内容:
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)