J'ai eu un problème avec rowspan, dans le cas de TableRow, Textview, etc., généré avec du code. Même si la réponse d'Onimush semble bonne, elle ne fonctionne pas avec l'interface utilisateur générée.
Voici un morceau de code qui ... ne fonctionne pas:
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);
Le code semble être correct mais, lorsque vous atteignez le début de "the_params", il renvoie NULL.
À l'autre bout, ce code fonctionne comme un charme:
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);
La seule différence est que je pousse le Textview à l'intérieur du TableRow avant de définir la durée. Et dans ce cas, cela fonctionne. J'espère que cela aidera quelqu'un!