2012-02-05 148 views
0
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, 的價值,他們應該等於 但他們不是Android的自定義對話框的EditText

我儘量讓密碼對話框 和密碼驗證通過驗證「如果否則」

正確顯示的對話框,但是當我輸入相同的值 的結構,如果他們的報告不等於

回答

3

你必須使用"String".equals("String")測試String內容。

==測試對象引用是否相等。

因此,在你的代碼,你需要做的:

if (createpass_password.equals(createpass_password2)) {