Разделить DataTable на 2 или более DataTables на основе значения столбца

Вызов addView - правильный ответ, но вам нужно сделать немного больше, чтобы заставить его работать.

Если вы создаете представление через конструктор (например, Button myButton = new Button();), , вам нужно будет вызвать setLayoutParams в недавно построенном представлении, передав экземпляр внутреннего класса LayoutParams родительского представления, прежде чем вы добавите вновь созданного ребенка в родительское представление.

Например, у вас может быть следующий код в вашей функции onCreate(), если ваш LinearLayout имеет id R.id.main:

LinearLayout myLayout = findViewById(R.id.main);

Button myButton = new Button(this);
myButton.setLayoutParams(new LinearLayout.LayoutParams(
                                     LinearLayout.LayoutParams.MATCH_PARENT,
                                     LinearLayout.LayoutParams.MATCH_PARENT));

myLayout.addView(myButton);

Важное значение имеет установка параметров LayoutParams. Для каждого представления требуется, по крайней мере, параметр layout_width и параметр layout_height. Также важно получить правильный внутренний класс. Я боролся с тем, чтобы получать представления, добавленные в TableRow, для правильной отображения, пока не выясню, что я не передавал экземпляр TableRow.LayoutParams в setLayoutParams дочернего представления.

13
задан thevan 5 October 2012 в 16:58
поделиться