Я создал простую андроидную форму, в которой я получаю имя пользователя и пароль, и в этом Если я вхожу в имя пользователя и пароль, то он также переходит в состояние else. Но мое условие if всегда ложно в любой ситуации, и я не знаю почему.Android Если ошибка состояния
package com.example.dac.simple_intent_form;
import android.content.Intent;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;
public class MainActivity extends AppCompatActivity implements View.OnClickListener {
Button button;
EditText email, password;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
button = (Button) findViewById(R.id.button);
email = (EditText) findViewById(R.id.eemail);
password = (EditText) findViewById(R.id.epassword);
button.setOnClickListener(this);
}
@Override
public void onClick(View v) {
String ema = email.getText().toString();
String pass = password.getText().toString();
if (ema == "deepak" && pass == "deepak")
{
Bundle b = new Bundle();
b.putString("email", ema);
b.putString("password", pass);
Intent i = new Intent(getApplicationContext(),Activity2.class);
i.putExtras(b);
startActivity(i);
}
else
{
Toast.makeText(getApplicationContext(),"Plase Enter Right Username and Password",Toast.LENGTH_SHORT).show();
}
}
}
не использовать "==", использовать ema.equals ("deepak") –
Кажется, у вас есть ответ, но на всякий случай, если вам интересно, почему == не работает , '==' проверяет ссылку. 'String a =" abc "и' String b = "abc", но 'a == b' даст вам значение false, поскольку ссылки внутри памяти' String' 'a' и' b' оба разные. –