Calculer la vue de mesurer avant de l'afficher

Je suis en train d'ajouter des vues de LinearLayout dynamiquement autant que possible (en fonction de la largeur de l'écran).

Je le faire avant le LinearLayout affiche sur l'écran.

Mon LinearLayout:

<LinearLayout 
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:layout_gravity="center" 
    android:background="#666"/>

Mon point de vue à afficher dans LinearLayout:

<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content" 
    android:paddingLeft="10dp" 
    android:paddingRight="10dp"
    android:background="#999">
    <ImageView
        android:layout_width="48dp"
        android:layout_height="48dp"
        android:src="@drawable/no_photo"/>
</FrameLayout>

- Je ajouter des vues de mise en page:

int allItems = 50;
int currentItem = 0;
while(currentItem < allItems)
{
    FrameLayout view = (FrameLayout) inflater.inflate(R.layout.fl, null);

    linearLayout.addView(view);

    if (linearLayout.getMeasuredWidth() >= this.getWidth())
    {
        linearLayout.removeView(view);
        break;
    }
}

mais linearLayout.getMeasuredWidth() et ce.getWidth() est 0;

Je sais que je dois utiliser la Vue.méthode de mesure pour calculer la taille d'affichage avant qu'il ne devienne visible, mais je ne sais pas où et comment les utiliser.

Possible dupe de: stackoverflow.com/questions/4142090/...
cochez cette stackoverflow.com/questions/9498762/...
"android:background="#666"" - je vois que vous êtes en utilisant le nombre magique tout comme je le fais

OriginalL'auteur Nik | 2012-04-04