Dismiss Dialog Android

时间:2011-12-20 14:22:36

标签: android android-alertdialog

我正在使用此警告对话框:

public  void displayAlert() 
        { 
         new AlertDialog.Builder(getActivity()).setMessage(R.string.invitenotice)   
               .setTitle("Invite Notice")   
               .setCancelable(true)   
               .setNeutralButton(android.R.string.ok,   
                  new DialogInterface.OnClickListener() {   
                  public void onClick(DialogInterface dialog, int whichButton){ 
                     finish();
                  }   
                  })   
               .show();  
        } 

我的问题是当我点击确定我不想使用finish();我只想解雇对话框。任何帮助表示赞赏。或者按下按钮时创建简单对话框的方法可能更简单?感谢大家。另外,问题是我得到4-6个对话框实例。所以我需要按4-6次才能消失。我把听众放在我的按钮的地方是:

   findViewById(R.id.mainHelp).setOnTouchListener(new OnTouchListener() { 
            @Override 
            public boolean onTouch(View v, MotionEvent event) { 
                               displayAlert(); 
                   return false; 
}}); 
onCreate()方法中的

5 个答案:

答案 0 :(得分:4)

删除finish()默认操作是dismiss。所以不要在click()上放任何东西。

答案 1 :(得分:3)

只需将null设置为侦听器,对话框就会自动解除。

答案 2 :(得分:2)

您可以在dialog.dismiss();方法中调用onClick

答案 3 :(得分:1)

以这种方式处理对话框的方案

@Override
public void onClick(DialogInterface dialog, int which)
{
    // TODO Auto-generated method stub
    switch (which)
    {
        case DialogInterface.BUTTON_NEUTRAL:
            break;
    }
}

单击“确定”对话框将自动关闭。

答案 4 :(得分:-1)

怎么样

            AlertDialog alertDialog;
    alertDialog = new AlertDialog.Builder(this).create();
    alertDialog.setTitle("Error!");
    alertDialog.setMessage("Test!");
    alertDialog.show();
    alertDialog.setButton(3,"Yes", new DialogInterface.OnClickListener(){

    @Override
    public void onClick(DialogInterface dialog, int which) {               
            finish();
            }
    });