FrameLayout à RelativeLayout ClassCastException même si aucun FrameLayout n'est utilisé

Dans mon application, j'ai une mise en page qui a un RelativeLayout à qui je veux définir des marges lors de l'exécution d'un programme. Mais quand je fais ça, il me donne ClassCastException disant FrameLayout ne peut pas lancer de RelativeLayout. Je n'ai pas de FrameLayout utilisé, de même qu'il n'y a pas d'importations pour FrameLayout. Toujours le problème persiste. Le xml que j'utilise est:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/rl_root"
android:background="@color/menu_bg"
android:layout_width="wrap_content"
android:layout_height="fill_parent" >

<RelativeLayout
    android:id="@+id/ll_lhs_menu"
    android:layout_width="300dip"
    android:layout_height="fill_parent"
    android:background="@color/menu_bg"
    android:orientation="vertical">

    .....

</RelativeLayout>

<RelativeLayout
    android:id="@+id/rl_right"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:layout_alignParentRight="true"
    android:background="@drawable/capture_port"
    android:scrollbars="none" >

    ....

</RelativeLayout>

</RelativeLayout>

Et c'est mon onCreate où j'ai mis les marges pour le parent de mise en page:

/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.menu);

 _rootLayout = (RelativeLayout) findViewById(R.id.rl_root);
RelativeLayout.LayoutParams _rootLayoutParams = new RelativeLayout.LayoutParams(_rootLayout.getWidth(), _rootLayout.getHeight());
_rootLayoutParams.setMargins(300, 0, 300, 0);
_rootLayout.setLayoutParams(_rootLayoutParams);
}

Et voici le LogCat:

    07-18 21:12:39.410: E/AndroidRuntime(7663): FATAL EXCEPTION: main
07-18 21:12:39.410: E/AndroidRuntime(7663): java.lang.ClassCastException: android.widget.RelativeLayout$LayoutParams cannot be cast to android.widget.FrameLayout$LayoutParams
07-18 21:12:39.410: E/AndroidRuntime(7663):     at android.widget.FrameLayout.onMeasure(FrameLayout.java:268)
07-18 21:12:39.410: E/AndroidRuntime(7663):     at android.view.View.measure(View.java:10828)
07-18 21:12:39.410: E/AndroidRuntime(7663):     at android.widget.LinearLayout.measureVertical(LinearLayout.java:764)
07-18 21:12:39.410: E/AndroidRuntime(7663):     at android.widget.LinearLayout.onMeasure(LinearLayout.java:519)
07-18 21:12:39.410: E/AndroidRuntime(7663):     at android.view.View.measure(View.java:10828)
07-18 21:12:39.410: E/AndroidRuntime(7663):     at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:4355)
07-18 21:12:39.410: E/AndroidRuntime(7663):     at android.widget.FrameLayout.onMeasure(FrameLayout.java:267)
07-18 21:12:39.410: E/AndroidRuntime(7663):     at com.android.internal.policy.impl.PhoneWindow$DecorView.onMeasure(PhoneWindow.java:1912)
07-18 21:12:39.410: E/AndroidRuntime(7663):     at android.view.View.measure(View.java:10828)
07-18 21:12:39.410: E/AndroidRuntime(7663):     at android.view.ViewRoot.performTraversals(ViewRoot.java:960)
07-18 21:12:39.410: E/AndroidRuntime(7663):     at android.view.ViewRoot.handleMessage(ViewRoot.java:2062)
07-18 21:12:39.410: E/AndroidRuntime(7663):     at android.os.Handler.dispatchMessage(Handler.java:99)
07-18 21:12:39.410: E/AndroidRuntime(7663):     at android.os.Looper.loop(Looper.java:132)
07-18 21:12:39.410: E/AndroidRuntime(7663):     at android.app.ActivityThread.main(ActivityThread.java:4128)
07-18 21:12:39.410: E/AndroidRuntime(7663):     at java.lang.reflect.Method.invokeNative(Native Method)
07-18 21:12:39.410: E/AndroidRuntime(7663):     at java.lang.reflect.Method.invoke(Method.java:491)
07-18 21:12:39.410: E/AndroidRuntime(7663):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:841)
07-18 21:12:39.410: E/AndroidRuntime(7663):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:599)
07-18 21:12:39.410: E/AndroidRuntime(7663):     at dalvik.system.NativeStart.main(Native Method)

Où vais-je tort?

source d'informationauteur Rajkiran