0

xmlファイルにスクロールビューがあり、いくつかのレイアウトがあります。そのテーブルレイアウトにはテーブルレイアウトもあり、チェックボックスを動的に追加したいと思います。xmlファイルのpredefineレイアウトに動的チェックを追加する方法がわかりません。助けてください。前もって感謝します

4

2 に答える 2

2

このコードを試してください

TableLayout Table = (TableLayout) findViewById(R.id.features);
CheckBox Box= new CheckBox(this);

        Table .addView(Box);
于 2012-10-22T06:34:47.600 に答える
0

動的に作成されたチェックボックスをレイアウトに入れるには、次のようなことができます

    TableLayout l = (TableLayout) findViewById(ID_OF_YOUR_LAYOUT);
    CheckBox box = new CheckBox(this);
    box.setChecked(true);
    box.setOnCheckedChangeListener(new OnCheckedChangeListener(){

        public void onCheckedChanged(CompoundButton arg0, boolean arg1) {
            //what happens when the it's unchecked or checked       
        }
    });

    l.addView(box);

これにより、チェックボックスがレイアウトのどこかに配置されます (メソッド addView を持つビュー クラスからすべて継承されるため、レイアウトのタイプは関係ありません)。チェックボックスがどこでどのように見えるかを指定したい場合は、使用できます

    RelativeLayout.LayoutParams layout = 
            new RelativeLayout.LayoutParams(LayoutParams.WRAP_CONTENT, 200);
    l.addView(box,layout);

LinearLayout を使用していた場合は、RelativeLayout.LayoutParams の代わりに LinearLayout.LayoutParams を使用します。

さまざまなレイアウト属性をいじる場合は、LayoutParams を使用して xml で行うことをシミュレートできます。

于 2012-09-13T15:06:11.300 に答える