Как установить EditText в определенном столбце TableLayout? - PullRequest
1 голос
/ 06 мая 2010

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

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

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

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

0 голосов
/ 08 мая 2010

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

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

params.column = 1;

etText.setLayoutParams (PARAMS);

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...