2016-09-04 10 views
1

ラジオグループからチェックされた値を取得しようとすると、小さな問題が発生します。ラジオボタンの値を確認する

私は質問とラジオグループを作成するためにforループを使用しました。

LinearLayout a = (LinearLayout) findViewById(R.id.aLayout); 
     for (int k = 1; k < 11; k++){ 
     //CREATE QUESTIONS 
     TextView q = new TextView(this); 
     q.setText(k + ")" + " " + pssQ[k]); 
     a.addView(q); 
     //CREATE RADIO BUTTONS 
     final RadioButton[] rB = new RadioButton[5]; 
     RadioGroup rg = new RadioGroup(this); 
     rg.setOrientation(LinearLayout.VERTICAL); 
      for(int i = 0; i < 5; i++){ 
       rB[i] = new RadioButton(this); 
       rg.addView(rB[i]); 
       rB[i].setText(a1[i]); 
      } 
     a.addView(rg); 
      //get values here?? 
    } 

コードは意図した通りに動作します。

問題は、各繰り返しからチェックされたラジオボタンを取得する方法がわかりません。私が集めたいのは合計で10です。

ガイダンスをいただければ幸いです。そして、より簡単な選択肢があれば、私は提案をすることができます。

ありがとうございます。

rg.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() { 
     @Override 
     public void onCheckedChanged(RadioGroup group, int checkedId) { 
      // your logic here 
     } 
    }); 

答えて

0

isCheckedがtrueの場合、任意の繰り返しでユーザーがチェックするラジオボタンを見つけることができます。

0

方法はそう、ブール変数として(例えば)isCheckedを追加変数を使用するようになります:あなたはループ内であなたのRadioGroupのそれぞれにチェック変更リスナーを添付する必要があります:)

関連する問題