2012-04-05 15 views
7

przyjaciół. Mam naprawdę głupi problem z radiogroup. Jednak nie jestem w stanie znaleźć rozwiązania.Kontrola radiobuttonów po wygaśnięciu czeku check

Postaram się opisać, jak odtworzyć mój problem: Mam grupę radiobutton i dwa przyciski wewnątrz. Wybieram jedną z nich, powiedzmy pierwszą. Następnie usuwam zaznaczenie, dzwoniąc pod numer radioGroup.clearCheck() Po tym, jak próbuję wybrać pierwszy przycisk, ale go nie sprawdzam. Jeśli sprawdzę 2, to sprawdza się normalnie. Jeśli sprawdzę 1-gę po sprawdzeniu 2, to również działa normalnie.

To może brzmieć szaleńczo, ale nie mogę tego naprawić. Proszę, pomóżcie z góry dzięki.

używam

@Override 
protected void init() { 
    View view = View 
      .inflate(getContext(), R.layout.wo_task_yn_result, null); 

    performed = (RadioButton) view.findViewById(R.id.yn_yes); 
    notPerformed = (RadioButton) view.findViewById(R.id.yn_no); 

    radioGroup = (RadioGroup) view.findViewById(R.id.yn_options); 

    performed.setOnCheckedChangeListener(new OnCheckedChangeListener() { 

     @Override 
     public void onCheckedChanged(final CompoundButton buttonView, 
       final boolean isChecked) { 
      Log.d(YES, "verify"); 
      if (isChecked) { 
       Log.d(YES, "checked"); 
       result = YES; 
      } 
     } 
    }); 

    notPerformed.setOnCheckedChangeListener(new OnCheckedChangeListener() { 

     @Override 
     public void onCheckedChanged(final CompoundButton buttonView, 
       final boolean isChecked) { 
      Log.d(NO, "verify"); 
      if (isChecked) { 
       Log.d(NO, "checked"); 
       result = NO; 
      } 
     } 
    }); 

    addView(view); 
} 

Aby utworzyć przyciski i

@Override 
public void clear() { 
    radioGroup.clearCheck(); 

    result = ""; 
} 

za wyczyszczenie im

+0

byłoby najlepiej, gdyby program wyświetlił kod thde dla przycisków – Akhil

+0

OK, zaktualizowałem swoje pytania. Mam nadzieję, że ten kod wystarczy. – Orest

+0

Nieważne, znalazłem rozwiązanie. – Orest

Odpowiedz

0

jeśli u chcą, aby usunąć zaznaczenie przycisku radiowego spróbować tej metody:

@Override 
public void clear() { 

performed.setChecked(false); 

nonperformed.setChecked(false); 

} 
16

miałem ten sam problem. Nie można było wybrać pierwszego elementu radiowego w grupie, ale można wybrać pozostałe dwa. A po wybraniu drugiego radiaButton mogłem również wybrać pierwszy. Rozwiązałem go, wykonując pojedynczą funkcję radioGroup.clearCheck() zamiast pojedynczego radioButtonA.setChecked (false)

+0

Użyłem radioGroup.removeAllViews(), aby usunąć cały widok. Myślę też, że wszystkie sprawdzone przedmioty będą jasne. Ale to nie działa. Ale radioGroup.clearCheck() działa jak urok. Wielkie dzięki –