如何在TableLayout的某个列中设置EditText?

时间:2010-05-05 23:49:08

标签: android tablelayout editbox

我在一个Android Activity UI上有一个TableLayout。它有两列。 现在我需要添加一个新行,并在该新行的第二列中放置一个EditText框。而且,我希望EditText填满整个单元格。我有一些像这样的代码:

TableRow tr = new TableRow(context);
EditText et = new EditText(context);
et.SetMaxLines(4);
etText.setLayoutParams(new TableRow.LayoutParams(1));  //set it to the second coloumn

tr.addView(et);

tl.addView(tr);   //tl is the tableLayout

它会将EditText放在第二列中,但EditText太小了。我试着用

etText.setLayoutParams(new LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.FILL_PARENT));  

但似乎禁用了TableRow.LayoutParams设置。我想每个控件只能有一个LayoutParams设置。

那么,如何将EditText作为4行文本编辑器并确保它位于该行的第二列?

感谢。

2 个答案:

答案 0 :(得分:0)

可能是这样的:

TableRow.LayoutParams params = TableRow.LayoutParams(LayoutParams.FILL_PARENT,LayoutParams.FILL_PARENT);

params.column = 1;

etText.setLayoutParams(PARAMS);

答案 1 :(得分:0)

这是针对monodroid的,但你应该能够转换为java

EditText et = new EditText(this);
var param = new TableRow.LayoutParams(1);
et.LayoutParameters = param;

只需将1更改为您希望edittext显示在表格中的任何列。