Android自定义对话框EditText

时间:2012-02-05 19:55:47

标签: android dialog alertdialog textedit

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结构报告它们不相等

1 个答案:

答案 0 :(得分:3)

您必须使用"String".equals("String")来测试String内容。

==测试对象引用是否相等。

所以在你的代码中你必须这样做:

if (createpass_password.equals(createpass_password2)) {