2017-01-20 12 views
5

をチェックすることができません。ラジオボタンをチェックしない限り、次のボタンをクリックすると、同じラジオボタンをプログラムでオフにしてもチェックできません。別のラジオボタンをチェックしない限り、ラジオボタン

これは、ラジオボタンのチェックを外しコードです:

 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")); 
     } 

そして、私はそれをチェックしてみてください場所です:

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

これらのラジオボタンのいずれかに.setCheckedを使用する必要はありません。なぜなら、これらのラジオボタンがクリックされると、チェック/チェック解除されます。 .setラジオボタンをチェックしてください。 –

+0

はい、試しましたが動作しませんでした。 – Besart

答えて

0

私はあなたがチェックラジオボタンをクリアする方法を作るべきだと思います。そして「次へ」ボタンをクリックするたびにそれを呼び出します。次に例を示します。

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")); 
     } 
} 

clearcheck();あなたの次のボタンのonclickで。

関連する問題