Мне необходимо добавить TableLayout в LinearLayout, но при тестировании TableLayout добавляется (ясно, так как ScrolView пролистывается), но не отображается (в ячейках нет картинок, задний фон белый). Как исправить это (возможности написать его в xml нет, так как он буде вставляться в будущем из другого класса и какое-то количество раз >= 1)?
Вот код:
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_theory);
categores = QuestionList.getAllCategores();
LinLay = (LinearLayout) findViewById(R.id.LinLayoutThA);
createButtons();
// FIXME: 09.09.2017
//Theory testTheory = new Theory("what", new Phrase(Alphabet.getSymbol("?")));
show();
}
В методе show() происходит добавление Сам метод show:
private void show() {
LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(LinearLayout.LayoutParams.MATCH_PARENT,
LinearLayout.LayoutParams.WRAP_CONTENT);
LinearLayout mainComp = new LinearLayout(this);
mainComp.setOrientation(LinearLayout.VERTICAL);
TableLayout tableLayout = new TableLayout(this);
tableLayout.setLayoutParams(new TableLayout.LayoutParams(LinearLayout.LayoutParams.MATCH_PARENT,
ViewGroup.LayoutParams.WRAP_CONTENT));
TableRow[] rows = new TableRow[3];
ImageView[][] imageViews = new ImageView[3][8];
for (int i = 0; i < rows.length; i++) {
rows[i] = new TableRow(this);
rows[i].setLayoutParams(new TableRow.LayoutParams(LinearLayout.LayoutParams.MATCH_PARENT,
LinearLayout.LayoutParams.WRAP_CONTENT));
for (int j = 0; j < 8; j++) {
imageViews[i][j] = new ImageView(this);
imageViews[i][j].setBackgroundColor(0xFF0000);
imageViews[i][j].setImageResource(Alphabet.getSymbol("?").getImageID());
rows[i].addView(imageViews[i][j], R.dimen.forImageView, R.dimen.forImageView);
}
}
for (TableRow row : rows) {
tableLayout.addView(row, LinearLayout.LayoutParams.MATCH_PARENT, LinearLayout.LayoutParams.WRAP_CONTENT);
}
mainComp.setBackgroundColor(151515);
mainComp.addView(tableLayout, LinearLayout.LayoutParams.MATCH_PARENT, LinearLayout.LayoutParams.WRAP_CONTENT);
//todo create image
LinLay.addView(mainComp, params);
}
P.S. Вообще метод show должен находится в другом классе и принимать Context и LinearLayout, но для простоты я перенес его в Activity
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости