Если условие не вычисляется

#java #android #xml #android-studio #if-statement

#java #Android #xml #android-studio #if-оператор

Вопрос:

При запуске оно не соответствует условию.
Он пропускает его и запускает блок «else».

Не могли бы вы мне помочь?

 public class LoginActivity extends AppCompatActivity {

private EditText usern;
private EditText passw;
private Button logButton;

@Override
protected void onCreate(Bundle savedInstanceState){
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_login);

    usern = (EditText) findViewById(R.id.userNameText);
    passw = (EditText) findViewById(R.id.passwordText);
    logButton = (Button) findViewById(R.id.loginButton);

    logButton.setOnClickListener(new View.OnClickListener() {

        @Override
        public void onClick(View v) {

            if(usern.getText().toString().equals("demo") amp;amp; passw.getText().equals("demo")){
                Intent intent = new Intent(LoginActivity.this, MainActivity.class);
                startActivity(intent);
                Toast.makeText(getApplicationContext(), "Login...", Toast.LENGTH_SHORT).show();
            }
            else{
                Toast.makeText(getApplicationContext(), "Username or password incorrect", Toast.LENGTH_SHORT).show();
            }
        }
    });
}
}
  

Комментарии:

1. Опишите вашу проблему подробно…. каково ожидаемое поведение, каково фактическое поведение и т.д…

Ответ №1:

Я думаю, проблема в этой строке.. Вы пропустили toString() для passw

 if(usern.getText().toString().equals("demo") amp;amp; passw.getText().toString().equals("demo")){
                    ....
  

вместо

 if(usern.getText().toString().equals("demo") amp;amp; passw.getText().equals("demo")){
                    .... 
  

Комментарии:

1. Рад, что это помогает 🙂

Ответ №2:

Вы забыли добавить метод toString() для вашего пароля EditText.

 passw.getText().toString().equals("demo"))
  

Ответ №3:

if(usern.getText().toString().equals(«демо») amp;amp; passw.getText().equals(«демо»))

Пожалуйста, проверьте проверку условия пароля. вы пропустили .toString() в нем.

Используйте код, как показано ниже,

if(usern.getText().toString().equals(«демо») amp;amp; passw.getText().toString().equals(«демо»))