0

テーブル行にlinearlayoutを追加したいのですが、その線形レイアウトにはいくつかのボタンとテキストビューが保持されます.どうすればそれを達成できますか.これを使用していますが、何も表示されません

    TableRow tr = new TableRow(this);
tr.setLayoutParams(new LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT));
final CheckBox checkbox = new CheckBox(this);
checkbox.setPadding(10, 5, 0, 0);
checkbox.setTextSize(TypedValue.COMPLEX_UNIT_PX, 15);
checkbox.setOnClickListener(new View.OnClickListener() {
TextView tv = new TextView(this);
tv.setText("Hello");
tv.setTextSize(TypedValue.COMPLEX_UNIT_PX, 14);
tv.setPadding(0, 0, 0, 0);
tv.setOnClickListener(new View.OnClickListener() {
checkbox.setLayoutParams(new LayoutParams(LinearLayout.LayoutParams.WRAP_CONTENT,LinearLayout.LayoutParams.WRAP_CONTENT));
tv.setLayoutParams(new LayoutParams(LinearLayout.LayoutParams.WRAP_CONTENT,LinearLayout.LayoutParams.WRAP_CONTENT));
LinearLayout linearLayout = new LinearLayout(tr.getContext());
linearLayout.setLayoutParams(new LinearLayout.LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT));
linearLayout.setOrientation(LinearLayout.HORIZONTAL);
linearLayout.addView(checkbox, new LayoutParams(LinearLayout.LayoutParams.WRAP_CONTENT,LinearLayout.LayoutParams.WRAP_CONTENT));
linearLayout.addView(tv, new LayoutParams(LinearLayout.LayoutParams.WRAP_CONTENT,LinearLayout.LayoutParams.WRAP_CONTENT));
tr.addView(linearLayout);
table.addView(tr, new TableLayout.LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT));

私を助けてください。

4

2 に答える 2

1

このような行パラメータを追加してみてください

TableRow row = new TableRow(this);


row.addView(linearLayout,  new TableRow.LayoutParams(1));

linearlayout の代わりに relativeLayout を追加し、textview にこのようなパラメーターを設定します

RelativeLayout.LayoutParams rel_lp = new RelativeLayout.LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT);
rel_lp.addRule(RelativeLayout.BELOW);
tv.setLayoutParams(rel_lp);
于 2012-06-20T07:38:07.233 に答える
0

まず、中括弧を適切な場所で閉じる必要があります。onClickListenerを設定している間、中括弧を閉じたり、セミコロンを入れたりすることさえありません。したがって、リスナーで textView を作成しているようです。次の行

checkbox.setOnClickListener(new View.OnClickListener() {

このようにする必要があります

checkbox.setOnClickListener(new View.OnClickListener() { 
    protected void onClick(View v){
        //your listener code here.
    }
});

また、レイアウトが非常に複雑な場合は、必要がない限り、動的コーディングの代わりに XML ファイルを使用する必要があります。

于 2012-06-20T07:33:29.927 に答える