0

Androidで10個のeditTextと10個のトグルボタンを動的に作成しています。私はこの部分をやりましたが、さらに進歩したいと思っています。スニペットは次のようになります。

for(int i =0 ; i < 10; i++) {
     et=new EditText(context);
     et.setLayoutParams(lprams); 
     et.setKeyListener(null);
     et.setClickable(true);
     et.setId(1); 
     et.setText(lwfb.get(i));
     et.setFocusableInTouchMode(true);
     final ToggleButton tb = new ToggleButton(context);
     tb.setTextOn("ON");
     tb.setTextOff("OFF");
     tb.setChecked(true);
     tb.setLayoutParams(new LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT));

     ll.addView(et);
     ll.addView(tb);

     tb.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
             if(tb.isChecked()){
                 //Button is ON
             } else {
                 //Button is OFF
             }    
        }
    });
}

ll動的LinearLayout変数はどこにありますか。

私は2つのことを達成したい:

  1. 同じインデックスの Edit Text と Toggle Button の両方を同じ行に表示します。
  2. //Button is ON/OFFI want to displayの代わりにbutton [i] is ON/OFF.
4

2 に答える 2

3

llはおそらく垂直方向です。つまり、レイアウトに追加された項目が下に表示されます。EditTextとをToggleButton同じ行に配置するには、それらを別のレイアウトに配置する必要があります。別のレイアウトLinearLayoutを水平方向に使用できます。EditText次に、と を にToggleButton直接追加する代わりに、llそれらをこの新しいレイアウトに追加してから、この新しいレイアウトを に追加しますll

LinearLayout line = new LinearLayout(context);
line.setOrientation(LinearLayout.HORIZONTAL);
line.addView(et);
line.addView(tb);
ll.addView(line);

また、レイアウト パラメーターなどを設定して配置を調整することもできます。

于 2015-11-27T07:53:55.620 に答える