我正在测试android上的一些东西作为初学者,并试图在单击按钮时获取在EditText中输入的值,然后将其与我在类中定义的字符串值进行比较,然后使用if(EditText == stringDefined)else(),但是即使输入了正确的文本,我的代码也总是跳到else部分,感谢任何帮助。这是代码:
Button mButton;
EditText mEdit1;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_login);
final String user = "admin";
mButton = (Button)findViewById(R.id.BTN_login);
mEdit1 = (EditText)findViewById(R.id.editText1);
mButton.setOnClickListener(
new View.OnClickListener()
{
public void onClick(View view)
{
String userEntered = mEdit1.getText().toString().trim();
Intent intent = new Intent(Login.this, Success.class);
if(userEntered == user){
startActivity(intent);
}
else{
AlertDialog.Builder errAlert = new AlertDialog.Builder(Login.this);
errAlert.setTitle("Wrong Credentials");
errAlert.setMessage("Wrong username");
errAlert.setCancelable(true);
errAlert.show();
}
}
});
}
答案 0 :(得分:0)
使用equals方法:
if(userEntered.equals(user)){
startActivity(intent);
}
答案 1 :(得分:0)
==
用于比较基本类型,equals()
类的java.lang.String
方法比较内容。