2010-08-29 4 views
0

J'utilise des données pour créer des éléments d'un ViewGroup. Les ViewGroup sont LinearLayouts, à l'exception des feuilles, qui sont TextViews. Parce que les données dessine la hiérarchie, je gonfle les LinearLayouts et TextViews à partir de fichiers XML individuels par programmation à la volée.Impossible d'ajouter une sous-vue à un LinearLayout avec "Wrap_Content"

Mon problème: Lorsque je crée un LinearLayout avec l'attribut wrap_content, puis gonfler un TextView ou autre LinearLayout en elle, je ne peux pas les parents (ou assez d'entre eux, de toute façon) à redessiner, en respectant la nouvelle vue. Ces LinearLayouts semblent toujours sortir à 0 taille, parce que quand ils sont d'abord créés (avant que leurs enfants ne soient gonflés), ils s'enroulent autour de rien.

J'ai essayé d'appeler quelques méthodes de stock de ViewGroup mais rien ne semble fonctionner.

+1

S'il vous plaît, éditer votre réponse avec un code. – Macarse

Répondre

0

Je ne étais pas connecté avant. Ci-dessous, vous trouverez: XML parent supérieur, XML enfant, XML texte et code d'insertion. Merci de m'avoir aidé!

Top Parent Xml <LinearLayout android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent" android:id="@+id/tasks_view"> </LinearLayout>

Disposition des enfants XML <LinearLayout android:orientation="vertical" android:id="@+id/task_line_tasks" android:layout_width="fill_parent" android:layout_height="wrap_content"/>

TextView XML <TextView xmlns:android="http://schemas.android.com/apk/res/android" android:textSize="10pt" android:layout_width="40dip" android:layout_height="fill_parent" android:background="#EAADEA" android:textColor="#000000"/>

Code d'insertion:
inflater.inflate(R.layout.person_line, tasks_view); newPersonLine = (LinearLayout) tasks_view.getChildAt(tasks_view.getChildCount()-1); newPersonLine.setId(i); newPersonName = (TextView)newPersonLine.getChildAt(0); newPersonName.setId(0); newPersonName.setText(people[i][0]);

Questions connexes