2013-08-24 68 views
0

在我的应用程序,我展示AlertDialog.BuilderAlertDialog.Builder不留在屏幕上

AlertDialog.Builder alert = new AlertDialog.Builder(this); 

,并在此警告有一个的EditText和PositiveButton。

AlertDialog.Builder alert = new AlertDialog.Builder(this); 
alert.setMessage("Enter Text"); 

final EditText input = new EditText(this); 
input.setInputType(InputType.TYPE_CLASS_TEXT | InputType.TYPE_TEXT_VARIATION_PASSWORD); 

alert.setView(input); 
alert.setPositiveButton("Ok", new DialogInterface.OnClickListener() { 

public void onClick(DialogInterface dialog, int whichButton) { 
if(input.getTest().getText().toString().equalsIgnoreCase("")){ 
Toast.makeText(Activity.this, "Please enter some text", Toast.LENGTH_LONG).show(); 
} 
} 
alert.show(); 

如果输入没有什么话,就说明请输入吐司一些文字和关闭对话框,但我想那警报对话框被关闭。我怎样才能做到这一点?

回答

0

您需要先创建对话框然后显示。

  AlertDialog.Builder alert = new AlertDialog.Builder(this); 
      AlertDialog alertDialog = alert.create(); 
      alertDialog.show(); 
0
AlertDialog.Builder alert = new AlertDialog.Builder(this); 
alert.setMessage("Enter Text"); 

final EditText input = new EditText(this); 
input.setInputType(InputType.TYPE_CLASS_TEXT | InputType.TYPE_TEXT_VARIATION_PASSWORD); 

alert.setView(input); 
alert.setPositiveButton("Ok", new DialogInterface.OnClickListener() { 
    public void onClick(DialogInterface dialog, int whichButton) {} 
} 

final AlertDialog dialog = alert.create(); 
dialog.show(); 

dialog.getButton(AlertDialog.BUTTON_POSITIVE).setOnClickListener(
      new View.OnClickListener() { 
       @Override 
       public void onClick(View v) { 
     if(input.getTest().getText().toString().equalsIgnoreCase("")){ 
     Toast.makeText(Activity.this, "Please enter some text", Toast.LENGTH_LONG).show(); 
} 
} 
}); 
相关问题