Как установить EditText в определенном столбце TableLayout?

У меня есть TableLayout на одном пользовательском интерфейсе Android. У него есть две колонки. Теперь мне нужно добавить новую строку и поставить 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 ответа

Может быть что-то вроде:

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

params.column = 1;

etText.setLayoutParams (PARAMS);

Это для monodroid, но вы должны быть в состоянии конвертировать для Java

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

Просто измените 1 на любой столбец таблицы, в котором вы хотите, чтобы текст редактирования отображался в.

Другие вопросы по тегам