У меня есть оператор if, который я хочу проверить, чтобы все EditTexts не были пустыми. Я знаю, что это просто, но я не вижу проблемы.Почему этот простой оператор If не проверяет все условия
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);
}
оператор if всегда будет оцениваться как false, потому что длина не может быть меньше 0. Попробуйте использовать == вместо этого. – chiaboy
Прежде всего, ваша & в вашей проверке if должна быть двоичной &&, а не унарной &. Нет причин проверять исходящие поля, если предыдущие являются ложными. – dberm22
Спасибо за ответ. Я попробовал, и он остался прежним. – uniStudent