2015-04-15 6 views
-1

У меня есть оператор 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); 
    } 
+0

оператор if всегда будет оцениваться как false, потому что длина не может быть меньше 0. Попробуйте использовать == вместо этого. – chiaboy

+0

Прежде всего, ваша & в вашей проверке if должна быть двоичной &&, а не унарной &. Нет причин проверять исходящие поля, если предыдущие являются ложными. – dberm22

+0

Спасибо за ответ. Я попробовал, и он остался прежним. – uniStudent

ответ

1

Даже один из них является неправильным. Таким образом, использование и оператор не является правильным

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 

Использование и не будет работать, то это будет только сказать, что EditText пуст, если все edittexts пусты! Вам нужно использовать или так, как указано выше

2

Вы должны использовать = 0 вместо < 0? Я не знаком с языком Android, но я думаю, что длина пробела обычно равна 0 вместо -1.