1

私はを使用しています、のようRadioGroupに追加されましRadioButton rdbutた。RadioGroup rdgrprdgrp.addView(rdbut)

   for(int j=0;j<3;j++)
   {
         RadioGroup rdgrp = new RadioGroup;
         for(int i=0;i<=10;i++)
         {
             RadioButton rdbut = new RadioButton(this);
             rdbut.setText("RadioButtion"+i);
             rdbut.setId(i);
             rdbut.setTag("somename");
             rdgrp.addView(rdbut);
         }
    }    

上記のコードは、ラジオグループとラジオボタンを初期化する方法を示しています。このコードを実行した後、エミュレーター/モバイルで、一度に2つのラジオボタンをチェックできます。

何が問題なのですか?

4

3 に答える 3

1

このようにコードを変更します。

  RadioGroup rdgrp[] = new RadioGroup[3];

  For(int j=0;j<3;j++)
   {
         RadioButton rdbut[] = new RadioButton[10];
         For(int i=0;i<=10;i++)
         {

             rdbut[i].setText("RadioButtion"+i);
             rdbut[i].setId(j*100+i);
             rdbut[i].setTag("somename");
             rdgrp[j].addView(rdbut[i]);
         }
    } 
于 2011-11-25T05:27:19.113 に答える
0

3つの異なるラジオグループを作成しました。1つのグループから選択できるラジオボタンは1つだけなので、3つのグループから3つのボタンを選択できますが、グループ間の関係はありません。異なるグループから同時にラジオボタンを選択できます。あなたの場合、最大で3つのボタンを選択できます。

ありがとうSunil

于 2011-11-25T05:37:34.540 に答える
0

ユーザーレイアウトファイルでこのxmlデザインのようなものを使用してください。

   <TableLayout
            android:id="@+id/tbl_layoutchoice"
            style="@style/InfoTableView"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:layout_marginTop="3dip" >

            <RadioGroup
                android:id="@+id/SelectLayout_Group"
                android:layout_width="fill_parent"
                android:layout_height="wrap_content" >
            </RadioGroup>
 </TableLayout>

アクティビティのOnCreate()メソッドでこのRadioGroupを使用するには、次のようにfindViewを使用します。

 mRadioGroup = (RadioGroup) this.findViewById(R.id.SelectLayout_Group);

次に、以下のコードを必要な変更とともに使用して、1つのラジオグループにラジオボタンを追加します。また、以下の必要な宣言を使用して、ラジオボタンを動的に作成します。

     ArrayList<String> layoutlist = new ArrayList<String>(3);
     int index = -1;
     LayoutParams lp = new LayoutParams(LayoutParams.FILL_PARENT,
        LayoutParams.WRAP_CONTENT);


   for (String layout : layoutlist) {
        RadioButton r = new RadioButton(this);
        index++;
        r.setText(layout);
        r.setId(index);
        r.setLayoutParams(lp);
        r.setTextAppearance(this, R.style.TextBase);


        mRadioGroup.addView(r);


    }

したがって、forループの前にlayoutlistに文字列値を追加することを忘れないでください。R.styleはRadioButtonのテキスト表示に必要なスタイルです。

于 2011-11-25T06:00:25.173 に答える