Не знаю, полностью ли я понимаю ваш вопрос, но здесь:
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
TableLayout tableLayout = new TableLayout(getApplicationContext());
TableRow tableRow;
TextView textView;
for (int i = 0; i < 4; i++) {
tableRow = new TableRow(getApplicationContext());
for (int j = 0; j < 3; j++) {
textView = new TextView(getApplicationContext());
textView.setText("test");
textView.setPadding(20, 20, 20, 20);
tableRow.addView(textView);
}
tableLayout.addView(tableRow);
}
setContentView(tableLayout);
}
Этот код создает TableLayout с 3 столбцами и 4 строками. По сути, вы можете объявить TableLayout в XML-файле, а затем установитьContentView в XML и использовать findViewById для поиска вашего TableLayout. Только TableRow и его дети должны быть сделаны в коде Java.