我有一个按钮,点击它应该显示一个对话框,但似乎代码没有执行。
这是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()没有执行。任何人都可以告诉我为什么会发生这种情况
答案 0 :(得分:3)
您忘记了builderSingle.show()
答案 1 :(得分:1)
您需要创建并显示对话框。将其添加到displayPopup
方法的末尾:
builderSingle.create().show();
编辑:正如亚历克斯所说,builderSingle.show()
做同样的事情。如果您拨打create()
,则可以使用对话框,稍后您可以拨打show
。来自Builder.create()
的文档:
使用提供给此构建器的参数创建AlertDialog。它不显示()对话框。这允许用户在显示对话框之前进行任何额外处理。如果您没有任何其他处理要做,并且希望创建和显示它,请使用show()。