코드로 생성 된 TableRow, Textview 등의 경우 rowspan에 문제가 있습니다. Onimush의 답변이 좋은 것처럼 보이지만 생성 된 UI에서는 작동하지 않습니다.
다음은 작동하지 않는 코드입니다.
TableRow the_ligne_unidade = new TableRow(this);
the_ligne_unidade.setBackgroundColor(the_grey);
TextView my_unidade = new TextView(this);
my_unidade.setText(tsap_unidade_nom);
my_unidade.setTextSize(20);
my_unidade.setTypeface(null, Typeface.BOLD);
my_unidade.setVisibility(View.VISIBLE);
TableRow.LayoutParams the_param;
the_param = (TableRow.LayoutParams)my_unidade.getLayoutParams();
the_param.span = 3;
my_unidade.setLayoutParams(the_param);
// Put the TextView in the TableRow
the_ligne_unidade.addView(my_unidade);
코드는 정상인 것 같지만 "the_params"의 초기 값에 도달하면 NULL을 반환합니다.
다른 한편으로,이 코드는 매력처럼 작동합니다.
TableRow the_ligne_unidade = new TableRow(this);
the_ligne_unidade.setBackgroundColor(the_grey);
TextView my_unidade = new TextView(this);
my_unidade.setText(tsap_unidade_nom);
my_unidade.setTextSize(20);
my_unidade.setTypeface(null, Typeface.BOLD);
my_unidade.setVisibility(View.VISIBLE);
// Put the TextView in the TableRow
the_ligne_unidade.addView(my_unidade);
// And now, we change the SPAN
TableRow.LayoutParams the_param;
the_param = (TableRow.LayoutParams)my_unidade.getLayoutParams();
the_param.span = 3;
my_unidade.setLayoutParams(the_param);
유일한 차이점은 범위를 설정하기 전에 TextRow를 TableRow 내부로 푸시한다는 것입니다. 그리고이 경우 작동합니다. 이것이 누군가를 도울 수 있기를 바랍니다!