2013-04-22 2 views
0

У моего приложения Android есть диалог с удобной кнопкой и 3 переключателями.
2 из 3 неверный ответ и 1 правильный ответ.
Когда пользователь выбирает неправильный ответ и нажимает possitiveButton как OK,
Я не хочу отклонять диалог и выводить сообщение с тостами, чтобы сказать
ваш выбор неверный.
Затем пользователь может повторно выбрать другой ответ и нажать OK,
Если ответ верный, я хочу отклонить диалог.
Я хотел бы знать, как не отклонять диалог, когда possitiveButton нажат.
Не отклонять диалог, когда possitiveButton нажал

Спасибо!

+0

Ответ на на http://stackoverflow.com/questions/10669948/alertdialog- is-this-a-bug –

ответ

0

Вы должны переопределить метод Click для положительной кнопки.

AlertDialog.Builder db = new AlertDialog.Builder(MyActivity.this); 
db.setPositiveButton("OK", new 
    DialogInterface.OnClickListener() { 
     public void onClick(DialogInterface dialog, int which) { 

     if (rb1.isChecked() || rb2.isChecked()){ //here make the toast} 
      } 
     }); 
     else { //dismiss here} 
AlertDialog dialog = db.show(); 

где RB1 и RB2 являются неправильными радиокнопки

+0

Спасибо за ваш код. Но моя проблема заключается в том, когда я нажимаю PositiveButton, диалог отклоняется, даже если я не пишу увольнение(). – MaryJJ

+0

, так что если вы сейчас проверите rb1 (неправильный ответ) и нажмите «ОК», диалог будет отклонен? В этом случае попробуйте обновленный код. –

+0

Я нашел, что onClickListener setPositiveButton должен отклонить диалог. Поэтому я отключил его и setOnClickListener как getButton (DialogInterface.BUTTON_POSITIVE). Это прекрасно работает. Спасибо всем! – MaryJJ

1

Я дам у пример

AlertDialog.builder builder = new Builder(this); 
builder.setPositiveButxxxxx(xxxxxx) 
{ 
    onClick(AlertDialog alert) 
    { 
      //if you want to dissmiss here, 
      alert.dismiss(); 
      //else 
      //do nothing 
    } 
} 
Смежные вопросы