Ich hatte ein Problem mit Rowspan, im Fall von TableRow, Textview usw., die mit Code generiert wurden. Auch wenn die Antwort von Onimush gut zu sein scheint, funktioniert sie nicht mit der generierten Benutzeroberfläche.
Hier ist ein Code, der ... nicht funktioniert:
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);
Der Code scheint in Ordnung zu sein, aber wenn Sie den Init von "the_params" erreichen, wird NULL zurückgegeben.
Am anderen Ende funktioniert dieser Code wie ein Zauber:
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);
Der einzige Unterschied besteht darin, dass ich die Textansicht in die TableRow schiebe, bevor ich den Bereich einstelle. Und in diesem Fall funktioniert es. Hoffe das hilft jemandem!