为了账号安全,请及时绑定邮箱和手机立即绑定

为什么Firebase即使输入为空也返回true

为什么Firebase即使输入为空也返回true

qq_花开花谢_0 2021-04-27 09:57:27
基本上,程序应基于输入检查Firebase数据库中数据的存在并相应显示弹出窗口,但是如果我将输入留空,则通过提示“请求”弹出窗口仍会以某种方式认为该数据确实存在窗外。@Overridepublic 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) {}   });}我想知道如何解决这个问题,以便将空输入视为不存在的数据,感谢您的帮助
查看完整描述

2 回答

?
偶然的你

TA贡献1841条经验 获得超3个赞

要解决此问题,只需input在创建“请求弹出窗口”之前验证字符串的长度即可。


if(input.length() != 0) {

    //"Request pop-out window"

}


查看完整回答
反对 回复 2021-05-12
?
叮当猫咪

TA贡献1776条经验 获得超12个赞

您正在检查值是否正确,!= null但值是否为null时,firebase不会创建该子节点或将其删除。您可以改为检查dataSnapshot.hasChild("input")


查看完整回答
反对 回复 2021-05-12
  • 2 回答
  • 0 关注
  • 134 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信