<分区>
我的简单的基于 firebase 的应用程序有点问题。我正在尝试像这样从数据库中检索数据:
public void readbuttonposition() {
database.addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
for (DataSnapshot buttonSnapshot: dataSnapshot.getChildren()){
ButtonPosition buttonPosition = buttonSnapshot.getValue(ButtonPosition.class);
String user = buttonPosition.getbutton_position();
if (user == "1"){
button2.setVisibility(View.GONE);
button3.setVisibility(View.VISIBLE);
}
else if (user == "0"){
button2.setVisibility(View.VISIBLE);
button3.setVisibility(View.GONE);
}
}
}
@Override
public void onCancelled(DatabaseError databaseError) {
}
});
}
只有两个按钮,每个按钮都给出值:0 和 1。如您所见,当 button2
为 VISIBLE
时,则为 button3
是 GONE
。没关系,当我按下按钮时,一切都很好。但是当我想重新启动应用程序并再次启动它时,总是可以看到 button2
,即使是数据库
button_position 的值为 1,这应该使 button3
可见。这是 firebase 树 的屏幕截图
和 DatabaseReference
路径:
database = FirebaseDatabase.getInstance().getReference("users").child(user.getUid()).child("hours");
我也以这种方式检索 start_hour
并且工作正常,那么我在哪里失败了? :D
@edit ButtonPosition.class
代码
public class ButtonPosition {
String button_position;
public ButtonPosition(){
}
public ButtonPosition(String button_position) {
this.button_position = button_position;
}
public String getbutton_position(){
return button_position;
}
}