为什么这个简单的 If 语句不能检查所有条件

Why won't this simple If statement check all conditions

我有一个 if 语句,我想检查所有 EditText 是否不为空。我知道这很简单,但我看不出问题所在。

     if (name.getText().length()<0 & postalcode.getText().length()<0 & phonenumber.getText().length()<0 & age.getText().length()<0 & staffid.getText().length()<0 & password.getText().length()<0) {
        Toast.makeText(getBaseContext(), "No Empty Fields", Toast.LENGTH_LONG).show(); //alerts user that entry has been saved
    } else {
        database1.insertContact(name.getText().toString(), postalcode.getText().toString(), phonenumber.getText().toString(), age.getText().toString(), staffid.getText().toString(), password.getText().toString());

        Toast.makeText(getBaseContext(), "Entry saved :)", Toast.LENGTH_LONG).show(); //alerts user that entry has been saved

        //Intent to go back home
        Intent showContent = new Intent(getBaseContext(), login.class);
        startActivity(showContent);
    }   

您应该使用 = 0 而不是 < 0 吗?我不熟悉 android 语言,但我认为空白文本的长度通常为 0 而不是 -1。

空一个也不对。所以使用 and 运算符是不对的

  if (name.getText().length()==0 || postalcode.getText().length()==0 || phonenumber.getText().length()==0 || age.getText().length()==0 || staffid.getText().length()==0 || password.getText().length()==0) {
            Toast.makeText(getBaseContext(), "No Empty Fields", Toast.LENGTH_LONG).show(); //alerts user that entry has been saved

使用 and 将不起作用,因为如果所有编辑文本都为空,它只会说编辑文本为空!您需要按照上述方式使用或