2015-01-24 5 views
-2

У меня есть AlertDialog, состоящий из двух кнопок ok и отмена.Android - как проверить, нажал ли пользователь кнопку OK из AlertDialog

, как я могу проверить, если пользователь нажал кнопку OK, и сделать что-то

объявляя строка

private String newtext = ""; 

код коробки AlertDialog

  AlertDialog.Builder builder = new AlertDialog.Builder(PrintDemo.this); 
      builder.setTitle("Title"); 

      // Set up the input 
      final EditText input = new EditText(PrintDemo.this); 
      // Specify the type of input expected; this, for example, sets the input as a password, and will mask the text 
      input.setInputType(InputType.TYPE_CLASS_TEXT | InputType.TYPE_TEXT_VARIATION_PASSWORD); 
      builder.setView(input); 

      // Set up the buttons 
      builder.setPositiveButton("OK", new DialogInterface.OnClickListener() { 
       @Override 
       public void onClick(DialogInterface dialog, int which) { 
        newtext = input.getText().toString(); 
       } 
      }); 
      builder.setNegativeButton("Cancel", new DialogInterface.OnClickListener() { 
       @Override 
       public void onClick(DialogInterface dialog, int which) { 
        dialog.cancel(); 
       } 
      }); 


      builder.show(); 

Спасибо за вашу помощь.

ответ

0

Вы можете Дисплей Toast, когда пользователь нажимает кнопку ОК

builder.setPositiveButton("OK", new DialogInterface.OnClickListener() { 
      @Override 
      public void onClick(DialogInterface dialog, int which) { 
       newtext = input.getText().toString(); 
       Toast.makeText(HomeActivity.this,"OK BUTTON PRESSED",Toast.LENGTH_LONG).show(); 
      } 
     }); 
+0

да приятное решение ... я хочу открыть тот же диалог, если пользователь отменит отмену .. как я могу это сделать ..... –

+0

, если вы хотите по-прежнему там, то просто удалите dialog.cancel(); и если вы хотите снова открыть его, добавьте dialog.show(); после dialog.cancel(); –

1

Прямо там, в вашем OnClickListener для положительной кнопки.

Когда пользователь нажимает кнопку, которую вы наделили «ОК», будет выполняться метод onClick в слушателе.

builder.setPositiveButton("OK", new DialogInterface.OnClickListener() { 
      @Override 
      public void onClick(DialogInterface dialog, int which) { 
       // do all your stuff here 
      } 
     }); 

То же самое касается обнаружения, если они нажали «Отмена».

Похоже, вы привыкли к диалогу блокировки, который, когда вы его показываете, вернет int, который вам нужно проверить и посмотреть, было ли это ОК или Отмена. Диалог Android не работает. В диалоговом окне нет значения возврата, которое нужно проверить, все действия происходят в тех OnClickListener s. Это немного сдвиг в мышлении, но если вы просто попробуете, вы привыкнете к этому.

+0

выше код уже внутри –

+0

класса ClickEvent реализует View.OnClickListener { –

+0

Что это вы пытаетесь, чтобы произошло? – Spencer

Смежные вопросы