Définir les paramètres de disposition RelativeLayout par programme - Lance ClassCastException

Je suis gonflant un RelativeLayout à partir de XML et ensuite tenter par programme sets de sa mise en page params et que je reçois une ClassCastException.

Code:

profileHeader = (RelativeLayout)mInflater.inflate(R.layout.user_profile_header, null);
profileHeader.setLayoutParams(new RelativeLayout.LayoutParams(RelativeLayout.LayoutParams.FILL_PARENT, RelativeLayout.LayoutParams.FILL_PARENT));

jette

E/AndroidRuntime( 2963): java.lang.ClassCastException: android.widget.RelativeLayout$LayoutParams
E/AndroidRuntime( 2963):  at android.widget.ListView.measureScrapChild(ListView.java:1119)
E/AndroidRuntime( 2963):  at android.widget.ListView.measureHeightOfChildren(ListView.java:1202)
E/AndroidRuntime( 2963):  at android.widget.ListView.onMeasure(ListView.java:1111)
E/AndroidRuntime( 2963):  at android.view.View.measure(View.java:8222)
E/AndroidRuntime( 2963):  at android.view.ViewGroup.measureChildWithMargins(V

J'ai vu d'autres notes sur le net pour essayer d'utiliser LinearLayout.LayoutParams mais qui ne semble pas l'aider.

Si vous vous demandez pourquoi je fais cela à tous et PAS seulement le définir dans le fichier XML du son parce que je vois quelque chose de bizarre où la mise en page "saute" d'une attelle/attelle. Je SUIS un réglage à fill_parent/fill_parent dans le fichier XML et sur de défilement de l'affichage "rétrécit" de ce qui semble être enveloppement enveloppement. C'est vraiment bizarre. En regardant les foursquared android code source, j'ai trouvé un commentaire où le développeur dit la même chose:

"Quelque chose de bizarre qui se passe avec les paramètres de mise en page. Si nous n'avons pas explicitement définir la mise en page à remplir/remplir après le gonflage, la mise en page permet d'accéder à un enveloppement enveloppement de mise en page."
(FriendsActivity.java:258)

Qui ressemble à mon problème, donc je suis en train de faire la même chose (mise en page via le code), mais dans son cas, il est à l'aide de LinearLayout, alors que je suis en utilisant RelativeLayout.

Ce qui me manque? Merci à l'avance.

source d'informationauteur Cody Caughlan