32

RadioButtonAndroidでの配列(またはコレクション)を取得する方法はありますRadioGroupか?個々のリスナーをラジオボタンに追加したいのですが、それらを繰り返す明確な方法がわかりません。

4

2 に答える 2

62

これでうまくいくはずです:

        int count = radioGroup.getChildCount();
        ArrayList<RadioButton> listOfRadioButtons = new ArrayList<RadioButton>();
        for (int i=0;i<count;i++) {
            View o = radioGroup.getChildAt(i);
            if (o instanceof RadioButton) {
                listOfRadioButtons.add((RadioButton)o);
            }
        }
        Log.d(TAG,"you have "+listOfRadioButtons.size()+" radio buttons");
于 2011-02-23T19:59:43.347 に答える
1

なぜradioGroupにクエリを実行する必要があるのですか?RadioButtonにリスナーを直接設定できないのはなぜですか。RadioGroupにリスナーを追加しているのはあなたであるため、radioButtonを取得できる必要があります。

とにかく、RadioGroupは単に特殊なタイプのLinearLayoutであり、そのすべての子は追加したRadioButtonです。すべての子ビューをループして、RadioButtonにアクセスできます。

于 2011-02-23T20:08:21.930 に答える