0

我想在表格行中添加线性布局,该线性布局将包含一些按钮和文本视图。我如何实现这一点。我正在使用它,但它不显示任何内容

    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));

添加 relativeLayout 而不是 linearlayout 并为 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 回答