Диалоговое окно код не выполняется
У меня есть кнопка, которая при нажатии должна отображать диалоговое окно, но кажется, что код не выполняется.
Вот код 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();
}
});
}
Журнал.v выполняется, а displayPopup () - нет. Может ли кто-нибудь сказать мне, почему это происходит
2 ответа:
Вам нужно создать и показать свой диалог. Добавьте это в конец вашего метода
displayPopup
:
builderSingle.create().show();
Редактировать: как сказал Алекс,
builderSingle.show()
делает то же самое. Если вы вызываетеcreate()
, то у вас есть дескриптор диалогового окна, который вы можете вызватьshow
позже. Из документов дляBuilder.create()
:Создает AlertDialog с аргументами, предоставленными этому построителю. Он не показывает() диалог. Это позволяет пользователю выполнить дополнительную обработку перед отображением диалогового окна. Используйте show (), Если у вас нет другой обработки и вы хотите, чтобы она была создана и отображена.