2012-05-30 9 views
1

Есть ли способ сделать валидацию после нажатия ok. Я не отклоняю его, но он закрывается, когда я нажимаю «ОК». Я написал пользовательский AlertDialog, который использует некоторые тексты редактирования. Проблема в том, что я ничего не могу подтвердить. Если проверка не выполняется, я хочу изменить сообщение и сообщить пользователю, но вместо этого он просто закрывается. Я использую AlertBuilderAndroid AlertDialog всегда выходит, когда я нажимаю кнопку OK

 builder.setPositiveButton(DialogInterface.OnClickListener(){ 
       @Override 
       public void onClick(DialogInterface dialog, int which) { 
        // I don't dismiss here. 
       } 

      } 
+0

может у вас показать код .... – SilentKiller

+0

напишите свой код .... –

+0

вставьте код ... !! :) –

ответ

3

Вы можете сделать это, переопределив onClickListener. Хитрость заключается в том, чтобы получить кнопку после создания и показ диалога.

// Create you dialog here and show it 
... 
dialog.show(); 

Button positiveButton = dialog.getButton(DialogInterface.BUTTON_POSITIVE); 
positiveButton.setOnClickListener(new OnClickListener() { 
    @Override 
    public void onClick(View onClick) { 
     // Valid checking 
     ... 

     if (valid) { 
      dialog.dismiss(); 
     } else { 
      // Not valid 
     } 

    } 
}); 
+0

Я сейчас пытаюсь это сделать. –

+0

Я думаю, что получаю null для BUTTON_POSITIVE ... –

+0

возможно после шоу, а не только после builder.create()? –

-1

, если вы ничего не писать внутри метода OnClick определенно будет уволить, хотите ли вы или нет, то почему вы задаете этот вопрос, как вы что-нибудь в этом методе не писать. так как это alertdialog, он будет закрыт, и если вы не захотите его закрыть, используйте setNeutralButton вместо setPositiveButton. Он не будет закрыт, если вы используете нейтральную кнопку

+1

setNeutralButton также автоматически закрывается –

+0

Определенно недостаточно, чтобы просто использовать нейтраль. –

+0

, тогда не используйте Alert Dialog, вместо этого создайте свой собственный диалог. –

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