2016-02-13 4 views
0

Я пытаюсь отобразить диалог с двумя кнопками - 1) Not Now 2) Настроить сейчас.Android Dialog - Заменить кнопки при нажатии кнопки в диалоговом окне

Когда я нажимаю кнопку Not Now в диалоговом окне, я хочу отобразить еще две кнопки - A) Показывать мне позже B) Не показывать снова и добавлять на эти кнопки также прослушиватели onclick. Есть ли способ достичь этого? Спасибо.

final AlertDialog.Builder builder = new AlertDialog.Builder(context); 

    DialogInterface.OnClickListener dialogClickListener = new DialogInterface.OnClickListener() { 
     @Override 
     public void onClick(DialogInterface dialog, int which) { 
      switch (which){ 
       case DialogInterface.BUTTON_POSITIVE: 
        // On Button click show new buttons in the dialog 
        builder.setPositiveButton("Show Me Later", null //Add onClickListener); 
        builder.setNegativeButton("Don't Show Again", null // Add onClickListener); 

        break; 

       case DialogInterface.BUTTON_NEGATIVE: 
        //No button clicked 
        break; 
      } 
     } 
    }; 


    builder.setMessage("Update Feature").setPositiveButton("Not Now", dialogClickListener) 
      .setNegativeButton("Set Up Now", dialogClickListener).show(); 

ответ

1

AlertDialog (и диалог в целом среди всех пользовательских интерфейсов) обычно не меняют свои кнопки после первоначального представления. Поэтому я не думаю, что это хорошая идея попробовать это.

Вместо этого закройте первое диалоговое окно и введите второе диалоговое окно со вторым набором параметров, которые вы хотели бы выбрать. Это дает понять, что они делают второй выбор, который отличается от первого.

+0

Спасибо, Дуг. Есть ли способ сохранить текущий диалог в фоновом режиме в отключенном режиме и отобразить новое диалоговое окно с двумя кнопками вверху? – sony

+0

Я полагаю, вы могли бы поместить новый диалог поверх первого, но зачем вы хотите это сделать? –

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