Как установить 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 на любой столбец таблицы, в котором вы хотите, чтобы текст редактирования отображался в.