我有一个小问题,每次我想在adminUID下为所需用户设置新值时,我都不知道如何为该当前用户设置值,因为我没有该用户的UID
数据库结构
我可以将pregunta为1或0的用户带到我的应用中,然后启用或禁用开关,没错
但是,当我单击开关时,如果pregunta = 1,则需要将该值从0更改为;如果pregunta = 0,则需要将该值更改为1。我设法在适配器中做到了这一点
holder.mSwitch.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
if(modelArrayList.get(position).getPregunta()==1){
mDatabase.child("myapp").child(adminID).child("users").child(userID).setValue(0);
}else if (modelArrayList.get(position).getPregunta()==0){
mDatabase.child("myapp").child(adminID).child("users").child(userID).setValue(0);
}
}
});
现在,我要从单击开关的位置获取.child(userID)
以更新该特定用户。
编辑:
我想到了这个主意
for(DataSnapshot snapshot : dataSnapshot.getChildren()){
String key = snapshot.getKey();
UserModel userModel = snapshot.getValue(UserModel.class);
String nombrePaciente = userModel.getNombre();
if(nombrePaciente.equals(modelArrayList.get(position).getNombre())){
mDatabase.child("myapp").child(adminID).child("users").child(key).child("pregunta").setValue(0);
}
}
它正在工作,但是如果我有两个具有相同名称的用户,它将为其中两个修改它,我想在每个用户内部存储自己的用户ID,并将该uid与该键的UID进行比较用户,就可以完成工作,但是有没有一种有效的方法来做到这一点?
谢谢
答案 0 :(得分:0)
已解决
当我在模型数组中创建每个用户的uid时将其存储,然后进行比较
!=