Definir parâmetros de layout RelativeLayout programaticamente - lança ClassCastException

Estou inflando um RelativeLayout do XML e, em seguida, tentando definir programaticamente seus parâmetros de layout e estou recebendo uma ClassCastException.

Código:

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

joga

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

Eu já vi outras anotações na rede para tentar usar o LinearLayout.LayoutParams, mas isso não parece ajudar.

Se você está se perguntando por que estou fazendo isso e NÃO apenas definindo no XML, é porque estou vendo algo estranho onde o layout "salta" para um empacotamento / empacotamento. Estou definindo-o como fill_parent / fill_parent no XML e, na rolagem, a exibição "encolhe" até o que parece ser quebra / quebra automática. É realmente estranho. Olhando para o código-fonte do Android, encontrei um comentário em que o desenvolvedor diz a mesma coisa:

"Algo estranho está acontecendo com os parâmetros do layout. Se não definirmos explicitamente o layout para preenchimento / preenchimento após o inflamento, o layout será alterado para um layout de quebra / quebra". (FriendsActivity.java:258)

Que soa exatamente como o meu problema, portanto, estou tentando fazer o mesmo (definir layout por código), mas no caso dele ele está usando LinearLayout, enquanto eu estou usando RelativeLayout.

o que estou perdendo? Desde já, obrigado.

questionAnswers(2)

yourAnswerToTheQuestion