当用户按下按钮时,如何显示“你确定是或否”对话框?

时间:2010-12-20 11:27:49

标签: android dialog

首先,我必须告诉你,我在这里和谷歌搜索过,我找不到一个简单的方法来做这件事(我是新手),那么我需要你的帮助

我有这个按钮,可以从远程数据库中删除朋友:

removeButton.setOnClickListener(new OnClickListener() {
            public void onClick(View v) {
                con.deletePermission(settings.getString("login",""),bundle.getString("email"));
                finish();
                Toast.makeText(getApplicationContext(), getString(R.string.friendsuccessfullyremoved), Toast.LENGTH_LONG).show();
            }
        }); 

我只是想显示一个简单的“你确定吗?是或否”对话框,带有两个按钮(是和否),当用户按YES时,必须调用此代码:

con.deletePermission(settings.getString("login",""),bundle.getString("email"));
                    finish();
                    Toast.makeText(getApplicationContext(), getString(R.string.friendsuccessfullyremoved), Toast.LENGTH_LONG).show();

存在是一种简单的方法吗?

感谢

编辑:我试着这样做:http://developer.android.com/guide/topics/ui/dialogs.html但它不起作用,按下按钮没有任何反应,没有出现对话框

我的新代码:

bundle = this.getIntent().getExtras();//get the intent & bundle passed by X
        builder = new AlertDialog.Builder(this);
        removeButton.setOnClickListener(new OnClickListener() {
            public void onClick(View v) {
                /*
                con.deletePermission(settings.getString("login",""),bundle.getString("email"));
                finish();
                Toast.makeText(getApplicationContext(), getString(R.string.friendsuccessfullyremoved), Toast.LENGTH_LONG).show();
                */
                builder.setMessage("Are you sure?")
                       .setCancelable(false)
                       .setPositiveButton("Yes", new DialogInterface.OnClickListener() {
                           public void onClick(DialogInterface dialog, int id) {
                                con.deletePermission(settings.getString("login",""),bundle.getString("email"));
                                finish();
                                Toast.makeText(getApplicationContext(), getString(R.string.friendsuccessfullyremoved), Toast.LENGTH_LONG).show();
                           }
                       })
                       .setNegativeButton("No", new DialogInterface.OnClickListener() {
                           public void onClick(DialogInterface dialog, int id) {
                                dialog.cancel();
                           }
                       });
                AlertDialog alert = builder.create();
            }
        }); 

2 个答案:

答案 0 :(得分:3)

来自documentation

  

使用。创建AlertDialog   提供给此构建器的参数。它   不显示()对话框。这个   允许用户做任何额外的事情   显示之前的处理   对话。如果没有,请使用show()   任何其他要做的和想要的处理   这将被创建和显示。

这意味着,您需要致电show()

答案 1 :(得分:2)

是的,它缺少了

 AlertDialog alert = builder.create();
 alert.show();

假设您想在按下按钮后立即显示警告对话框。