Android 如何实现AlertDialog。编辑文本中未输入密码?

Android 如何实现AlertDialog。编辑文本中未输入密码?,android,android-alertdialog,Android,Android Alertdialog,我已使用edittext和按钮实施活动: 在用户输入密码并单击按钮后,我想验证密码是否正确,并打开另一个活动。如果密码错误,我希望使用AlertDialog显示错误消息 可能吗?怎么做 @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.enter); //---load the S

我已使用edittext和按钮实施活动:

在用户输入密码并单击按钮后,我想验证密码是否正确,并打开另一个活动。如果密码错误,我希望使用AlertDialog显示错误消息

可能吗?怎么做

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.enter);


    //---load the SharedPreferences object---
    prefs = getSharedPreferences(prefName, MODE_PRIVATE);
    String a = prefs.getString(PASSWORD, "pa");
    System.out.println("saved Password" +a);    

    EditText et = (EditText)findViewById(R.id.txtName); 
    String theText = et.getText().toString();
    System.out.println("entered Password"+theText); 

    //---get the SharedPreferences object---
    prefs = getSharedPreferences(prefName, MODE_PRIVATE);
    SharedPreferences.Editor editor = prefs.edit();
    editor.putString(PASSWORD, theText );

    //---save the values---
    editor.commit(); 


    Button data = (Button)findViewById(R.id.Ok);            
    data.setOnClickListener(new View.OnClickListener() {

        public void onClick(View v) {
            Intent i = new Intent(Enter.this,Data.class);                
            startActivity(i);                   
        }   
    });

您可以将密码字符串捕获到按钮单击事件中。在那里,您可以根据密码的更正打开一个对话框

比如:


您必须将代码移动到按钮上的onClickListener中:

Button data = (Button)findViewById(R.id.Ok);            
data.setOnClickListener(new View.OnClickListener() {

    public void onClick(View v) {
        EditText et = (EditText)findViewById(R.id.txtName); 
        String theText = et.getText().toString();
        prefs = getSharedPreferences(prefName, MODE_PRIVATE);
        if (theText.equals(prefs.getString("PASSWORD")))
        {
            Intent i = new Intent(Enter.this,Data.class);                
            startActivity(i);       
        }
        else
        {
            showDialog(myDialogID);
        }            
    }   
});

当然,您需要实现AlertDialog
myDialogID
应该是唯一的整数。(仅当您使用更多对话框时才相关)。请参阅。

请在此处发布一些Java代码,因为您发布的xml和问题的描述令人困惑
Button data = (Button)findViewById(R.id.Ok);            
data.setOnClickListener(new View.OnClickListener() {

    public void onClick(View v) {
        EditText et = (EditText)findViewById(R.id.txtName); 
        String theText = et.getText().toString();
        prefs = getSharedPreferences(prefName, MODE_PRIVATE);
        if (theText.equals(prefs.getString("PASSWORD")))
        {
            Intent i = new Intent(Enter.this,Data.class);                
            startActivity(i);       
        }
        else
        {
            showDialog(myDialogID);
        }            
    }   
});
  protected Dialog onCreateDialog(int id) {
  switch (id) {
  case 0:
  return new AlertDialog.Builder(this)
         .setIcon(R.drawable.icon)
         .setTitle(“This is a dialog with some simple text...”)
         .setPositiveButton(“OK”, new
          DialogInterface.OnClickListener() {
          public void onClick(DialogInterface dialog,
                                        int whichButton)
       {
        Toast.makeText(getBaseContext(),
           “OK clicked!”, Toast.LENGTH_SHORT).show();
    }
 })
         .setNegativeButton(“Cancel”, new
          DialogInterface.OnClickListener() {
          public void onClick(DialogInterface dialog,
                                        int whichButton)
      {
       Toast.makeText(getBaseContext(),
            “Cancel clicked!”, Toast.LENGTH_SHORT).show();
    }
 })