早上好,我的问题是 DialogAlert 中的 if else,当我输入四个 相等的数字 时,它没有生成正确的函数,它会比较 pass1 和 pass2,但它会转到PIN 的功能不同。为什么它不比较 pass1 和 pass2?
非常感谢。
loginbutton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
String valor1 = pass1.getText().toString();
String valor2 = pass2.getText().toString();
if ((pass1.getText().toString().length() < 4) || pass2.getText().toString().length() < 4)) {
Toast.makeText(getApplicationContext(), "Enter 4 digits and the same pin", Toast.LENGTH_SHORT).show();
pass1.setText("");
pass1.requestFocus();
pass2.setText("");
} else if (pass1.equals(pass2)) {
Toast.makeText(getApplicationContext(), "Account create", Toast.LENGTH_SHORT).show();
alertDialog.dismiss();
} else {
pass1.setText("");
pass1.requestFocus();
pass2.setText("");
Toast.makeText(getApplicationContext(), "The pin is different, makes the same pin", Toast.LENGTH_SHORT).show();
}
}
});
最佳答案
而不是比较控件:
} else if (pass1.equals(pass2))
您应该比较控件中包含的字符串:
} else if (pass1.getText().toString().equals(pass2.getText().toString()))
关于java - 不要用 if else 比较两个值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29587370/