Я бы хотел создать AlertDialog-конструктор, у которого есть только одна кнопка, которая говорит "ОК" или "Готово" или что-то еще, вместо по умолчанию "да" и "нет". Можно ли это сделать со стандартным AlertDialog, или мне придется использовать что-то еще?
Android AlertDialog Single Button
Ответ 1
Нельзя ли это сделать только с помощью положительной кнопки?
AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setMessage("Look at this dialog!")
.setCancelable(false)
.setPositiveButton("OK", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int id) {
//do things
}
});
AlertDialog alert = builder.create();
alert.show();
Ответ 2
Вы можете использовать это:
AlertDialog.Builder builder1 = new AlertDialog.Builder(this);
builder1.setTitle("Title");
builder1.setMessage("my message");
builder1.setCancelable(true);
builder1.setNeutralButton(android.R.string.ok,
new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int id) {
dialog.cancel();
}
});
AlertDialog alert11 = builder1.create();
alert11.show();
Ответ 3
Другой подход
Builder alert = new AlertDialog.Builder(ActivityName.this);
alert.setTitle("Doctor");
alert.setMessage("message");
alert.setPositiveButton("OK",null);
alert.show();
Бонус
AlertDialog.Builder builder = new AlertDialog.Builder(YourActivityName.this);
builder.setMessage("Message dialog with three buttons");
builder.setPositiveButton("YES", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int id) {
//do things
}
});
builder.setNegativeButton("NO", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int id) {
//do things
}
});
builder.setNeutralButton("CANCEL", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int id) {
//do things
}
});
AlertDialog alert = builder.create();
alert.show();
Теперь вам нужно использовать одну, две или три кнопки.
Ответ 4
Это тем ближе, когда я могу добраться до одного лайнера, который должен быть, если Android API был умным:
new AlertDialog.Builder(this)
.setMessage(msg)
.setPositiveButton("OK", null)
.show();
Ответ 5
Для повторного использования кода вы можете сделать это способом, подобным этому
public static Dialog getDialog(Context context,String title, String message, DialogType typeButtons ) {
AlertDialog.Builder builder = new AlertDialog.Builder(context);
builder.setTitle(title)
.setMessage(message)
.setCancelable(false);
if (typeButtons == DialogType.SINGLE_BUTTON) {
builder.setPositiveButton("OK", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int id) {
//do things
}
});
}
AlertDialog alert = builder.create();
return alert;
}
public enum DialogType {
SINGLE_BUTTON
}
//Другие проблемы с повторным использованием кода, такие как использование интерфейсов для обеспечения обратной связи, также будут отличными.
Ответ 6
Его очень простая
new AlertDialog.Builder(this).setView(input).setPositiveButton("ENTER",
new DialogInterface.OnClickListener()
{ public void onClick(DialogInterface di,int id)
{
output.setText(input.getText().toString());
}
}
)
.create().show();
Если вы хотите прочитать полную программу, смотрите здесь: Программа для ввода данных от пользователя, использующего диалог и вывод на экран
Ответ 7
Котлин?
val dialogBuilder = AlertDialog.Builder(this.context)
dialogBuilder.setTitle("Alert")
.setMessage(message)
.setPositiveButton("OK", null)
.create()
.show()
Ответ 8
В Mono для Android вы можете сделать это:
var ad = new AlertDialog.Builder(this);
ad.SetTitle("Title");
ad.SetMessage("Message");
ad.SetPositiveButton("OK", delegate { ad.Dispose(); });
ad.Show();