【发布时间】:2016-07-17 10:27:34
【问题描述】:
我有一个活动,其中有一个片段(GFragmentMo 类),它扩展了 ListFragment (support.v4)。
由于我添加了片段,因此每次可见该片段时都会出现异常,我将拉下 android 抽屉,然后将其拉回。
片段的根布局是 LinearLayout,我没有设置任何视图的布局参数。 我在 android 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>
我想在这里提出任何可以帮助解决这个问题的想法。
谢谢
【问题讨论】:
-
你看到this question了吗?这可能会有所帮助。
-
我没有更改片段的LayoutParams。不过谢谢!
-
我建议将根 LinearLayout 更改为其他内容,以查看错误是否仍然存在,或者是否发生了变化。
-
除此之外,android 期望 WindowManager 的 LayoutParams,你知道我该如何提供吗?使用哪种布局?我会再试一个,只是为了尝试......
-
@Vucko 没用,还是谢谢
标签: android