Miałem problem z rowspanami, w przypadku TableRow, Textview i tak dalej, generowanych za pomocą kodu. Nawet jeśli odpowiedź Onimush wydaje się być dobra, nie działa z wygenerowanym interfejsem użytkownika.
Oto fragment kodu, który ... nie działa:
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);
the_ligne_unidade.addView(my_unidade);
Kod wydaje się być w porządku, ale kiedy dojdziesz do init "the_params", zwraca NULL.
Z drugiej strony ten kod działa jak urok:
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);
the_ligne_unidade.addView(my_unidade);
TableRow.LayoutParams the_param;
the_param = (TableRow.LayoutParams)my_unidade.getLayoutParams();
the_param.span = 3;
my_unidade.setLayoutParams(the_param);
Jedyną różnicą jest to, że przed ustawieniem zakresu umieszczam Textview wewnątrz TableRow. I w tym przypadku to działa. Mam nadzieję, że to komuś pomoże!