显示未执行的对话框代码

时间:2013-12-09 22:00:01

标签: android android-alertdialog android-dialog

我有一个按钮,点击它应该显示一个对话框,但似乎代码没有执行。

这是onclick代码:

profile.setOnClickListener(new OnClickListener() {
            @Override
            public void onClick(View v) {
                Log.v("--", "dasd");
                displayPopup();
            }
        });

和displayPopup函数

private void displayPopup() {
        AlertDialog.Builder builderSingle = new AlertDialog.Builder(this);
        builderSingle.setIcon(R.drawable.ic_launcher);
        builderSingle.setTitle("Select option:");
        final ArrayAdapter<String> arrayAdapter = new ArrayAdapter<String>(
                this, android.R.layout.select_dialog_singlechoice);
        arrayAdapter.add("Call " + employee.getName());
        arrayAdapter.add("Send SMS to " + employee.getName());
        builderSingle.setNegativeButton("Cancel",
                new DialogInterface.OnClickListener() {
                    @Override
                    public void onClick(DialogInterface dialog, int which) {
                        dialog.dismiss();
                    }
                });
    }

Log.v正在执行但displayPopup()没有执行。任何人都可以告诉我为什么会发生这种情况

2 个答案:

答案 0 :(得分:3)

您忘记了builderSingle.show()

答案 1 :(得分:1)

您需要创建并显示对话框。将其添加到displayPopup方法的末尾:

builderSingle.create().show();

编辑:正如亚历克斯所说,builderSingle.show()做同样的事情。如果您拨打create(),则可以使用对话框,稍后您可以拨打show。来自Builder.create()的文档:

  

使用提供给此构建器的参数创建AlertDialog。它不显示()对话框。这允许用户在显示对话框之前进行任何额外处理。如果您没有任何其他处理要做,并且希望创建和显示它,请使用show()。

相关问题