4

私はプログラムで(ラジオグループとラジオボタンの数が変数であるため義務付けられています)ラジオグループをアクティビティレイアウトに次のように追加しています:

rg = new RadioGroup(this);
rg.setOrientation(RadioGroup.HORIZONTAL);
rg.setId(list_questions.get(i).getQuizz_questions_id()); // get from the DB
lrg.add(rg);
for (int j = 0; j < list_answers.size(); j++) {
    rb = new RadioButton(this);
    rb.setId(list_answers.get(j).getQuizz_answers_id());
    rb.setText(String.valueOf(list_answers.get(j).getQuizz_answers_id()) + "-" + String.valueOf(list_answers.size()) + "-" + String.valueOf(list_questions.get(i).getQuizz_questions_id())); // I added that to see if there was a problem on the indexes, but there's not
    rg.addView(rb, new LayoutParams(100,LayoutParams.WRAP_CONTENT));
}
tr.addView(rg, new LayoutParams(LayoutParams.WRAP_CONTENT,LayoutParams.WRAP_CONTENT));

完全なコードはここにあります: http://pastebin.com/d9zZjmuu

私の問題は、3 つのラジオグループ内で 2 つのラジオボタンを選択できることです。

すべてのソースなどをお持ちでないため、お役に立てないことは承知しておりますが、2 日前から何が問題なのかを探していますが、何も見つかりませんでした。問題の原因がどこにあるのかを考えていただければ幸いです。

私の悪い英語に感謝し、申し訳ありません。

4

1 に答える 1

7

私はあなたの問題を再現し、各 RadioButton に一意の ID を与えることで解決しました。

rb.setId(list_answers.get(j).getQuizz_answers_id() + i * list_questions.size());

現時点でデフォルトの OnCheckedChangeListeners が混乱している理由はわかりませんが、ここで簡単に修正できます。

于 2013-03-12T16:30:05.920 に答える