Android LayoutParams的强制转换异常

Android LayoutParams的强制转换异常,android,Android,我有一个活动,其中有一个片段(GFFragmentMo类),它扩展了ListFragment(support.v4)。 自从我添加了这个片段,每次看到这个片段时,我都会得到一个异常,我会拉下android抽屉,然后再把它拉回来 片段的根布局是LinearLayout,我没有设置任何视图的布局参数。 我在安卓6.0上运行,但它也在4.4.2上被复制 例外情况如下: java.lang.ClassCastException: android.widget.LinearLayout$LayoutPar

我有一个活动,其中有一个片段(GFFragmentMo类),它扩展了ListFragment(support.v4)。
自从我添加了这个片段,每次看到这个片段时,我都会得到一个异常,我会拉下android抽屉,然后再把它拉回来

片段的根布局是LinearLayout,我没有设置任何视图的布局参数。 我在安卓6.0上运行,但它也在4.4.2上被复制

例外情况如下:

java.lang.ClassCastException: android.widget.LinearLayout$LayoutParams cannot be cast to android.view.WindowManager$LayoutParams
                                                              at android.view.ViewRootImpl$ViewRootHandler.handleMessage(ViewRootImpl.java:4221)
                                                              at android.os.Handler.dispatchMessage(Handler.java:102)
                                                              at android.os.Looper.loop(Looper.java:158)
                                                              at android.app.ActivityThread.main(ActivityThread.java:7229)
                                                              at java.lang.reflect.Method.invoke(Native Method)
                                                              at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1230)
                                                              at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1120)
这是我用来放置此片段的代码:

getSupportFragmentManager().beginTransaction().replace(R.id.fragment_holder, new GFragmentMo(), null).addToBackStack(null).commit();
<android.support.design.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <android.support.design.widget.AppBarLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="vertical">
        ...
    </android.support.design.widget.AppBarLayout>

    <FrameLayout
        android:layout_width="match_parent"
        android:layout_height="?android:attr/actionBarSize"
        android:layout_marginTop="?android:attr/actionBarSize"
        android:id="@+id/cContainer">
        <fragment
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:id="@+id/fragmentA"
            android:visibility="gone"
            class="com.google.android.gms.cast.framework.media.widget.MiniControllerFragment" />
    </FrameLayout>
    <FrameLayout
        android:id="@+id/fragment_holder"
        android:layout_width="match_parent"
        android:layout_height="match_parent" />
</android.support.design.widget.CoordinatorLayout>
这是包含片段的活动的布局:

getSupportFragmentManager().beginTransaction().replace(R.id.fragment_holder, new GFragmentMo(), null).addToBackStack(null).commit();
<android.support.design.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <android.support.design.widget.AppBarLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="vertical">
        ...
    </android.support.design.widget.AppBarLayout>

    <FrameLayout
        android:layout_width="match_parent"
        android:layout_height="?android:attr/actionBarSize"
        android:layout_marginTop="?android:attr/actionBarSize"
        android:id="@+id/cContainer">
        <fragment
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:id="@+id/fragmentA"
            android:visibility="gone"
            class="com.google.android.gms.cast.framework.media.widget.MiniControllerFragment" />
    </FrameLayout>
    <FrameLayout
        android:id="@+id/fragment_holder"
        android:layout_width="match_parent"
        android:layout_height="match_parent" />
</android.support.design.widget.CoordinatorLayout>

...
我想在这里谈谈任何有助于解决这个问题的想法


感谢

好吧,问题是在该片段中的自定义视图中,我错误地调用了
getRootView().setLayoutParams(…)
,这更改了我无意更改的布局参数。

好吧,问题是在该片段中的自定义视图中,我错误地调用了
getRootView().setLayoutParams(…)
这改变了我不想改变的布局参数。

你看到了吗?这可能会有帮助。我还没有更改片段的布局参数。但是谢谢!我建议将根LinearLayout更改为其他内容,以查看错误是否仍然存在,或者是否发生了更改。例外情况是,android expect WindowManager的LayoutParams,您知道如何提供它吗?使用哪种布局?我再试试另一个,只是为了试试…@Vucko没用,谢谢你,你看到了吗?这可能会有帮助。我还没有更改片段的布局参数。但是谢谢!我建议将根LinearLayout更改为其他内容,以查看错误是否仍然存在,或者是否发生了更改。例外情况是,android expect WindowManager的LayoutParams,您知道如何提供它吗?使用哪种布局?我再试试另一个,只是为了试试…@Vucko没用,谢谢你