我有一个if语句用作登录,因此它比较了用户的nick和pass。问题是equals
函数不起作用或者至少不是我需要它的方式。调试来自输入的字符串是正确的(来自idTextInput的“c”和来自PassTextInput的“1”),但每次比较都返回false。任何人都可以帮我这个吗?
btnJackIn.setOnClickListener(
new Button.OnClickListener(){
public void onClick(View v){
EditText idTextInput = (EditText) findViewById(R.id.txtID);
EditText PassTextInput = (EditText) findViewById(R.id.txtPass);
if (idTextInput.getText().equals("c") && PassTextInput.getText().equals("1")) {
Intent characterPage = new Intent(getBaseContext(), MainCharacterPage.class);
characterPage.putExtra("id", idTextInput.getText());
characterPage.putExtra("pass", PassTextInput.getText());
MainActivity.this.startActivity(characterPage);
}
}
}
);
答案 0 :(得分:1)
EditText.getText()返回Editable
个对象,而不是String。试试这个:
idTextInput.getText().toString().equals("c") && PassTextInput.getText().toString().equals("1")
答案 1 :(得分:0)
试试这个......
{{1}}
它还会处理区分大小写的问题。
答案 2 :(得分:-2)
我曾经和&&&语句,我会尝试比较使用它的代码,但它总是让我流浪。
实施例
if(!FAnswer3.equals(NotConf && Confirm)){
System.out.println("\nSorry, that's not a valid command. Try again!");
continue;
}
此代码不起作用,因为我使用了错误的比较对象,(&&) 相反,我需要使用!=因为它意味着“如果它不是那个”,在这种情况下。检查你的代码是否有比较装饰和任何变化的任何变化,(可能更改&& to ==可能会修复它),如果它仍然不起作用,请再次返回。