Android AlertDialog Одна Кнопка
Я хотел бы иметь AlertDialog builder, который имеет только одну кнопку, которая говорит OK или Done или что-то еще, а не по умолчанию да и нет. Можно ли это сделать со стандартным AlertDialog, или мне придется использовать что-то еще?
7 ответов:
Не может ли это быть сделано только с помощью положительной кнопки?
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();
вы могли бы использовать это:
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();
другой подход
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();
теперь это до вас,чтобы использовать одну, две или три кнопки..
это ближе я мог бы добраться до одного лайнера это должно быть, если Android API был какой-нибудь умный:
new AlertDialog.Builder(this) .setMessage(msg) .setPositiveButton("OK", null) .show();
для повторного использования кода, Вы можете сделать это в методе такой
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 }
//другие проблемы повторного использования кода, такие как использование интерфейсов для обеспечения обратной связи, также будут превосходными.
очень просто
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();
Если вы хотите прочитать полную программу смотрите здесь: программа для ввода от пользователя с помощью диалогового окна и вывода на экран