2017-01-20 14 views
5

, dlaczego nie mogę sprawdzić tego samego radiobuttonu po tym, jak odznaczam go programowo, kiedy klikam następny przycisk, chyba że sprawdzę inny radiobutton.Nie można sprawdzić radiobuttonu

Jest to kod, który unchecks radiobuttons:

 if(q.trim() != null || q.trim() != ""){ 
      questionView.setText(q); 
      r1.setChecked(false); 
      r2.setChecked(false); 
      r3.setChecked(false); 

      r1.clearFocus(); 
      r2.clearFocus(); 
      r3.clearFocus(); 

      r1.setText(varNames.get("ra0")); 
      r2.setText(varNames.get("ra1")); 
      r3.setText(varNames.get("ra2")); 
     } 

I to jest, gdy próbuję to sprawdzić:

public void questionClicked(View view) { 

    boolean checked = ((RadioButton) view).isChecked(); 

    switch(view.getId()) { 
     case R.id.firstQuestion: 
      if(!checked) { 
       r1.setChecked(true); 
      } 
      getAnswer(R.id.firstQuestion); 

      break; 
     case R.id.secondQuestion: 
      if(!checked) { 
       r2.setChecked(true); 
      } 
      getAnswer(R.id.secondQuestion); 

      break; 
     case R.id.thirdQuestion: 
      if(!checked) { 
       r3.setChecked(true); 
      } 
      getAnswer(R.id.thirdQuestion); 

      break; 
    } 
} 
+0

Myślę, że nie musisz używać .setChecked do żadnego z tych przycisków radiowych, ponieważ po ich kliknięciu zostaną sprawdzone/odznaczone. Spróbuj usunąć linie, które .set Sprawdź radiobuttons. –

+0

Tak, próbowałem, ale nie działał. – Besart

Odpowiedz

0

myślę, że należy dokonać sprawdzenia sposobu rozliczania przycisk radiowy. I dzwoń za każdym razem, gdy klikniesz przycisk "dalej". Oto przykład:

private void clearcheck(){   
     if(q.trim() != null || q.trim() != ""){ 
      questionView.setText(q); 
      r1.setChecked(false); 
      r2.setChecked(false); 
      r3.setChecked(false); 

      r1.clearFocus(); 
      r2.clearFocus(); 
      r3.clearFocus(); 

      r1.setText(varNames.get("ra0")); 
      r2.setText(varNames.get("ra1")); 
      r3.setText(varNames.get("ra2")); 
     } 
} 

Nazwij to jak wyczyszczenie kontrolne(); w onclick następnego przycisku.

Powiązane problemy