基本上,该程序应根据输入内容检查Firebase数据库中数据是否存在,并相应地显示弹出窗口,但是如果我将输入内容留空,则仍然可以通过提示输入'请求”弹出窗口。
@Override
public void onClick(View v) {
final String input = mInput.getText().toString();
DatabaseReference rootRef = FirebaseDatabase.getInstance().getReference();
DatabaseReference idRef = rootRef.child("Patient");
idRef.addListenerForSingleValueEvent(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
if (dataSnapshot.child(input).getValue() != null) {
startActivity(new Intent(addNew.this, Request.class));
} else{
startActivity(new Intent(addNew.this, Fail.class));
}
}
@Override
public void onCancelled(DatabaseError databaseError) {}
});
}
我想知道如何解决这个问题,以便将空的Input视为不存在的数据,谢谢您的帮助
答案 0 :(得分:1)
要解决此问题,只需在创建“请求弹出窗口”之前验证input
字符串的长度即可。
if(input.length() != 0) {
//"Request pop-out window"
}
答案 1 :(得分:0)
您正在检查值!= null
是否为真,但如果该值为null,firebase不会创建该子节点或将其删除。
您可以改为检查dataSnapshot.hasChild("input")
。