public void createpass() {
//set up dialog
final Dialog dialog = new Dialog(App.this);
dialog.setContentView(R.layout.createpass);
dialog.setTitle("Set Password");
dialog.setCancelable(false);
//there are a lot of settings, for dialog, check them all out!
//set up text
final EditText text = (EditText) dialog.findViewById(R.id.editText1);
text.setText("");
//set up text
final EditText text2 = (EditText) dialog.findViewById(R.id.editText2);
text2.setText("");
//set up button
Button button = (Button) dialog.findViewById(R.id.Button01);
button.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
String createpass_password = text.getText().toString().trim();
String createpass_password2 = text2.getText().toString().trim();
try
{
if(createpass_password == createpass_password2)
{
FileWriter fstream = new FileWriter("/data/data/folder.hide.alexander.fuchs/password.db");
BufferedWriter out = new BufferedWriter(fstream);
out.write(createpass_password);
//Close the output stream
out.close();
dialog.dismiss();
}
else
{
toaster("Passwords are not matching !");
text.setText("");
text2.setText("");
}
}
catch(Exception x)
{
String ErrorMessage = x.getMessage();
toaster("Error");
finish();
}
}
});
//now that the dialog is set up, it's time to show it
dialog.show();
}
我尝试访问EditText的值, 他们应该是平等的 但他们不是
我尝试进行密码对话 并通过“if else”验证密码验证
对话框显示正确,但是当我输入相同的值时 if结构报告它们不相等
答案 0 :(得分:3)
您必须使用"String".equals("String")
来测试String
内容。
==
测试对象引用是否相等。
所以在你的代码中你必须这样做:
if (createpass_password.equals(createpass_password2)) {