Bonjour à tous!

voila mon probleme:
j'utilise un table layout pour afficher des données structurées dans un tableau à deux colonnes.

l'entete d'un tableau (un tablerow) est écrit en dur dans le xml, et les lignes de données sont construites dynamiquement au chargement de mon activity
chaque ligne est composé de deux textview, ayant le même weight.

code xml coresspondant au tableau:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
 
<TableLayout
        android:id="@+id/tableTravaux"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
	    android:background="#4083BD">
 
        	<TableRow>
			    <TextView android:text="Travaux"
			        android:textColor="#FFFFFF"
			        android:gravity="center"
			        android:background="#4083BD"
			        android:layout_weight="1"/>
			    <TextView android:text="Ressources"
			        android:textColor="#FFFFFF"
			        android:gravity="center"
			        android:background="#4083BD"
			        android:layout_weight="1">
			    </TextView>
 
		  	</TableRow>
        </TableLayout>
ensuite dans l'activity je boucle sur une collection pour charger les lignes de données

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
 
table = (TableLayout) findViewById(R.id.tableTravaux);
 
for (Tache t : mestaches) {
	        	// create a new TableRow
	            TableRow row = new TableRow(this);
 
	            TextView tvTrav = new TextView(this);
	            tvTrav.setText(t.getLibelle());
	            TextView tvRess = new TextView(this);
	            String users = "TODO recup users";	
	            tvRess.setText(users);
 
	            row.addView(tvTrav);
	            row.addView(tvRess);
 
	            table.addView(row);
		}
jusque la tout va bien, mes données s'affiche, c'est moche mais ca s'affiche
si je veut ensuite applique un weight a mes textView pour que chaque colonne ai la même largeur, je rajoute ce bout de code
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
 
table = (TableLayout) findViewById(R.id.tableTravaux);
 
for (Tache t : mestaches) {
	        	// create a new TableRow
	            TableRow row = new TableRow(this);
 
	            TextView tvTrav = new TextView(this);
	            tvTrav.setText(t.getLibelle());
	            TextView tvRess = new TextView(this);
	            String users = "TODO recup users";	
	            tvRess.setText(users);
 
                    LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(LinearLayout.LayoutParams.FILL_PARENT, LinearLayout.LayoutParams.WRAP_CONTENT);
	            params.weight= 1.0f;
 
	    	    tvTrav.setLayoutParams(params);
	    	    tvRess.setLayoutParams(params);
 
	            row.addView(tvTrav);
	            row.addView(tvRess);
 
	            table.addView(row);
		}
et la c'est le drame, mes données ne s'affichent plus. si j'applique le layoutparams a un seul élément, seul l'autre s'affiche. a noter que j'ai tester toutes les combinaisons de paramètre entre fill_parent, match_parent, tout ca, sans succès.
j'ai aussi essayer de placer ce bout de code apres le row.addview, la j'ai un classCastException
j'ai aussi essayer d'ajouter le layoutparam directement en paramètre dans le row.addView, toujours pareil.
j'ai aussi essayer de créer deux objets layoutParam, un par textView au cas ou, toujours pareil.
Bref je suis un peu court d'idées, j'attend vos suggestions avec impatience

merci d'avance!