以下のこのxmlコードは、テーブルセルの周りに適切な境界線を与えます
<TableRow android:background="#cdcdcd" >
<TextView android:text="1st Column" android:background="#ffffff" android:layout_margin="2dip"/>
<TextView android:text="2nd Column" android:background="#ffffff" android:layout_margin="2dip"/>
<TextView android:id="@+id/amount" android:background="#ffffff" android:layout_margin="2dip" android:text="3rd col"/>
</TableRow>
しかし、私がプログラムでそれをやろうとすると、うまくいかないのは私のコードです:
dataTable = (TableLayout)findViewById(R.id.data_table);
TableRow tr=new TableRow(this);
counter++;
LinearLayout.LayoutParams lp = new LinearLayout.LayoutParams(LayoutParams.WRAP_CONTENT,LayoutParams.WRAP_CONTENT);
lp.setMargins(2,2, 2, 2);
TextView tv= new TextView(this);
tv.setLayoutParams(lp);
tv.setText("text"+counter);
tv.setBackgroundColor(Color.parseColor("#ffffff"));
counter++;
TextView cb= new TextView(this);
cb.setLayoutParams(lp);
cb.setText("text"+counter);
counter++;
TextView ib= new TextView(this);
ib.setText("text"+counter);
ib.setLayoutParams(lp);
tr.setBackgroundColor(Color.parseColor("#cdcdcd"));
tr.setPadding(2, 2, 2, 2);
tr.addView(tv);
tr.addView(cb);
tr.addView(ib);
dataTable.addView(tr,new TableLayout.LayoutParams(LayoutParams.WRAP_CONTENT,LayoutParams.WRAP_CONTENT));
ボーダーと「tv.setLayoutParams(lp);」を設定した場合を除いて、すべてが機能します。パラメータ列が消えます。