LinearLayout$LayoutParams cannot be cast to $LayoutParams

时间:2025-02-09 09:36:57

不同Layout,对应不同Layoutparameter,那么被嵌套的布局或者view,要尊用父布局的Layoutparameter类。
因为你的这个LinearLayout是放在一个ListView中(ListView是AbsListView的子类),所以()中应该放这个类的对象。
相关Bug:
1): LayoutParamscannotbecasttoandroid.widget.RelativeLayout LayoutParams
:这段话提示我们不能将Linear LayoutParamsRelativeLayout LayoutParams
3
2):: LayoutParamscannotbecasttoandroid.widget.AbsListView LayoutParams
在DDMS里面也没有具体定位哪里错了,逐步调试在return那里出错了,求解?
——解决方案——————–
_llp = new (LayoutParams.FILL_PARENT, LayoutParams.MATCH_PARENT);
这句代码导致的错误哦
——解决方案——————–
因为你的这个LinearLayout是放在一个ListView中(ListView是AbsListView的子类),所以()中应该放这个类的对象。

比如我的ListView一项配置如下:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="horizontal"
    android:weightSum="2"
    android:id="@+id/ll_item_camera" >

    <RelativeLayout 
        android:id="@+id/rl_camera_left"
        android:layout_width="0dp"
        android:layout_weight="1"
        android:layout_height="match_parent">
        <ImageView 
            android:id="@+id/iv_camera_left_check"
            android:layout_width="30dp"
            android:layout_height="30dp"
            android:scaleType="fitXY"
            android:src="@drawable/checked"
            android:layout_alignParentRight="true"
            android:layout_marginTop="5dp"
            android:layout_marginRight="5dp"/>
    </RelativeLayout>

    <RelativeLayout 
        android:id="@+id/rl_camera_right"
        android:layout_width="0dp"
        android:layout_weight="1"
        android:layout_height="match_parent"
        android:layout_marginLeft="10dp">
        <ImageView 
            android:id="@+id/iv_camera_right_check"
            android:layout_width="30dp"
            android:layout_height="30dp"
            android:scaleType="fitXY"
            android:src="@drawable/checked"
            android:layout_alignParentRight="true"
            android:layout_marginTop="5dp"
            android:layout_marginRight="5dp"/>
    </RelativeLayout>

</LinearLayout>
AbsListView.LayoutParams layoutParams = new AbsListView.LayoutParams(AbsListView.LayoutParams.MATCH_PARENT, this.cameraHeight);
mViewHolder.ll_item_camera.setLayoutParams(layoutParams);