首页 > 解决方案 > 为什么即使输入为空,firebase 也会返回 true

问题描述

基本上,程序应该根据输入检查 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) {}
   });
}

我想知道如何解决它,以便将空输入视为不存在数据,感谢您的帮助

标签: javaandroidfirebasefirebase-realtime-database

解决方案


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

if(input.length() != 0) {
    //"Request pop-out window"
}

推荐阅读