简体   繁体   English

java.lang.ClassCastException:android.widget.LinearLayout $ LayoutParams无法转换为android.widget.FrameLayout

[英]java.lang.ClassCastException: android.widget.LinearLayout$LayoutParams cannot be cast to android.widget.FrameLayout

Aim : Removing framelayout from some screen目的:从某些屏幕上删除帧布局

Logcat : Logcat:

04-05 09:19:44.915: E/AndroidRuntime(26483): FATAL EXCEPTION: main
04-05 09:19:44.915: E/AndroidRuntime(26483): //java.lang.ClassCastException: android.widget.LinearLayout$LayoutParams cannot be cast to android.widget.FrameLayout$LayoutParams
04-05 09:19:44.915: E/AndroidRuntime(26483):    at android.widget.FrameLayout.onMeasure(FrameLayout.java:311)
04-05 09:19:44.915: E/AndroidRuntime(26483):    at android.view.View.measure(View.java:15775)
04-05 09:19:44.915: E/AndroidRuntime(26483):    at ..
android.widget.LinearLayout.measureChildBeforeLayout(LinearLayout.java:1411)
04-05 09:19:44.915: E/AndroidRuntime(26483):    at android.widget.LinearLayout.measureVertical(LinearLayout.java:698)
04-05 09:19:44.915: E/AndroidRuntime(26483):    at android.widget.LinearLayout.onMeasure(LinearLayout.java:588)
04-05 09:19:44.915: E/AndroidRuntime(26483):    at android.view.View.measure(View.java:15775)
04-05 09:19:44.915: E/AndroidRuntime(26483):    at android.support.v4.widget.DrawerLayout.onMeasure(DrawerLayout.java:651)<-------- // i think the problem is DrawerLayout
04-05 09:19:44.915: E/AndroidRuntime(26483):    //at android.view.View.measure(View.java:15775)
04-05 09:19:44.915: E/AndroidRuntime(26483):    //at 

main_activity.xml main_activity.xml

<android.support.v4.widget.DrawerLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/drawer_layout"
android:layout_width="match_parent"
android:layout_height="match_parent">



<LinearLayout
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:weightSum="2"       
    android:orientation="vertical"      
    >
     <LinearLayout
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:layout_weight="1"       

    >
    <FrameLayout
        android:id="@+id/frame_container_slider"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:layout_weight="1"       

    />
    </LinearLayout>
<!-- Framelayout to display Fragments -->
<FrameLayout
           android:id="@+id/frame_container"        
           android:layout_width="fill_parent"
           android:layout_height="fill_parent"
           android:layout_weight="1"
    />

</LinearLayout>
<!-- Listview to display slider menu -->
<ListView
    android:id="@+id/list_slidermenu"
    android:layout_width="240dp"
    android:layout_height="match_parent"
    android:layout_gravity="start"
    android:choiceMode="singleChoice"
    android:divider="@color/list_divider"
    android:dividerHeight="1dp"        
    android:listSelector="@drawable/list_selector"
    android:background="@color/list_background"/>

MainActivity.java : MainActivity.java:

if(position!=0){
 LinearLayout.LayoutParams lp = new LinearLayout.LayoutParams(0,0,0);
    // framelayout is child of linearlayout 


getSupportFragmentManager().findFragmentById(R.id.frame_container_slider).getView().setLayoutParams(lp);
        }

Aim : Removing framelayout from some screen目的:从某些屏幕上删除帧布局

Logcat : Logcat:

04-05 09:19:44.915: E/AndroidRuntime(26483): FATAL EXCEPTION: main
04-05 09:19:44.915: E/AndroidRuntime(26483): //java.lang.ClassCastException: android.widget.LinearLayout$LayoutParams cannot be cast to android.widget.FrameLayout$LayoutParams
04-05 09:19:44.915: E/AndroidRuntime(26483):    at android.widget.FrameLayout.onMeasure(FrameLayout.java:311)
04-05 09:19:44.915: E/AndroidRuntime(26483):    at android.view.View.measure(View.java:15775)
04-05 09:19:44.915: E/AndroidRuntime(26483):    at ..
android.widget.LinearLayout.measureChildBeforeLayout(LinearLayout.java:1411)
04-05 09:19:44.915: E/AndroidRuntime(26483):    at android.widget.LinearLayout.measureVertical(LinearLayout.java:698)
04-05 09:19:44.915: E/AndroidRuntime(26483):    at android.widget.LinearLayout.onMeasure(LinearLayout.java:588)
04-05 09:19:44.915: E/AndroidRuntime(26483):    at android.view.View.measure(View.java:15775)
04-05 09:19:44.915: E/AndroidRuntime(26483):    at android.support.v4.widget.DrawerLayout.onMeasure(DrawerLayout.java:651)<-------- // i think the problem is DrawerLayout
04-05 09:19:44.915: E/AndroidRuntime(26483):    //at android.view.View.measure(View.java:15775)
04-05 09:19:44.915: E/AndroidRuntime(26483):    //at 

main_activity.xml main_activity.xml

<android.support.v4.widget.DrawerLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/drawer_layout"
android:layout_width="match_parent"
android:layout_height="match_parent">



<LinearLayout
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:weightSum="2"       
    android:orientation="vertical"      
    >
     <LinearLayout
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:layout_weight="1"       

    >
    <FrameLayout
        android:id="@+id/frame_container_slider"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:layout_weight="1"       

    />
    </LinearLayout>
<!-- Framelayout to display Fragments -->
<FrameLayout
           android:id="@+id/frame_container"        
           android:layout_width="fill_parent"
           android:layout_height="fill_parent"
           android:layout_weight="1"
    />

</LinearLayout>
<!-- Listview to display slider menu -->
<ListView
    android:id="@+id/list_slidermenu"
    android:layout_width="240dp"
    android:layout_height="match_parent"
    android:layout_gravity="start"
    android:choiceMode="singleChoice"
    android:divider="@color/list_divider"
    android:dividerHeight="1dp"        
    android:listSelector="@drawable/list_selector"
    android:background="@color/list_background"/>

MainActivity.java : MainActivity.java:

if(position!=0){
 LinearLayout.LayoutParams lp = new LinearLayout.LayoutParams(0,0,0);
    // framelayout is child of linearlayout 


getSupportFragmentManager().findFragmentById(R.id.frame_container_slider).getView().setLayoutParams(lp);
        }

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 java.lang.ClassCastException:android.widget.RelativeLayout $ LayoutParams无法转换为android.widget.FrameLayout $ LayoutParams - java.lang.ClassCastException: android.widget.RelativeLayout$LayoutParams cannot be cast to android.widget.FrameLayout$LayoutParams java.lang.ClassCastException:android.widget.RelativeLayout $ LayoutParams无法转换为android.widget.LinearLayout $ LayoutParams - java.lang.ClassCastException: android.widget.RelativeLayout$LayoutParams cannot be cast to android.widget.LinearLayout$LayoutParams java.lang.ClassCastException:android.widget.LinearLayout $ LayoutParams无法转换为android.widget.AbsListView $ LayoutParams - java.lang.ClassCastException: android.widget.LinearLayout$LayoutParams cannot be cast to android.widget.AbsListView$LayoutParams Android java.lang.ClassCastException:android.widget.LinearLayout $ LayoutParams无法强制转换为android.widget.AbsListView $ LayoutParams - Android java.lang.ClassCastException: android.widget.LinearLayout$LayoutParams cannot be cast to android.widget.AbsListView$LayoutParams java.lang.ClassCastException: android.widget.LinearLayout$LayoutParams 不能转换为 android.support.v7.widget.RecyclerView$LayoutParams - java.lang.ClassCastException: android.widget.LinearLayout$LayoutParams cannot be cast to android.support.v7.widget.RecyclerView$LayoutParams ClassCastException:java.lang.ClassCastException:android.widget.LinearLayout $ LayoutParams无法强制转换为android.support.v4.widget.DrawerLayout - ClassCastException : java.lang.ClassCastException: android.widget.LinearLayout$LayoutParams cannot be cast to android.support.v4.widget.DrawerLayout java.lang.ClassCastException: android.widget.LinearLayout$LayoutParams 不能转换为 android.support.constraint.ConstraintLayout$LayoutParams - java.lang.ClassCastException: android.widget.LinearLayout$LayoutParams cannot be cast to android.support.constraint.ConstraintLayout$LayoutParams java.lang.ClassCastException:android.widget.LinearLayout无法转换为android.widget.Button - java.lang.ClassCastException: android.widget.LinearLayout cannot be cast to android.widget.Button java.lang.ClassCastException:android.widget.LinearLayout无法强制转换为android.support.v7.widget.Toolbar - java.lang.ClassCastException: android.widget.LinearLayout cannot be cast to android.support.v7.widget.Toolbar java.lang.ClassCastException:android.widget.LinearLayout无法强制转换为android.widget.ListView - java.lang.ClassCastException: android.widget.LinearLayout cannot be cast to android.widget.ListView
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM