等于不比较

时间:2016-03-25 14:54:52

标签: java android

我有一个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);

            }
        }
    }
);

3 个答案:

答案 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 ==可能会修复它),如果它仍然不起作用,请再次返回。