android.widget.LinearLayout$LayoutParams cannot be cast to android.widget.RelativeLayout$LayoutPara

2019-11-09 10:35:14

参考地址 android.widget.LinearLayout$LayoutParams cannot be cast to android.widget.RelativeLayout$LayoutPara

<LinearLayout

            android:id="@+id/ll_card"

            android:layout_width="match_parent"

            android:layout_height="wrap_content"

            android:orientation="vertical" >

 

            <ImageView

                android:id="@+id/iv_move"

                android:layout_width="wrap_content"

                android:layout_height="wrap_content"

                android:background="@drawable/blue_line" />

 

            

        </LinearLayout>

上面是布局文件,我要早代码中重新设置ImageView的宽度,用以下方法:


LayoutParams layoutParams = (LayoutParams) iv_move.getLayoutParams();

layoutParams.width = move_width;

iv_move.setLayoutParams(layoutParams);


运行的时候会报错: Caused by: java.lang.ClassCastException:android.widget.LinearLayout$LayoutParams cannot be cast to android.widget.Re




解决方法:ImageView是LinearLayout的子控件,它的LayoutParams 应该是LinearLayout给他的。所以应该是LinearLayout.LayoutParam 。


代码改成:





LinearLayout.LayoutParams layoutParams = (LinearLayout.LayoutParams) iv_move.getLayoutParams();

layoutParams.width = move_width;

iv_move.setLayoutParams(layoutParams);



  • 2017-11-23 02:00:51

    js 分页插件twbs-pagination

    ​cdn地址 http://www.bootcdn.cn/twbs-pagination/ 官网地址 可以在cdn地址上面查看到

  • 2017-11-28 14:53:05

    Vagrant 实战

    Vagrant 是一个可创建轻量级、高复用性和便于移植的开发环境的工具。 此文章是作者折腾vagrant的笔记, 希望大家看后,不再去网上搜罗资料, 能顺利搭建vagrant环境。vagrant更新较快, 还建议大家以官网为主。Vagrant官网

  • 2017-11-28 14:55:13

    使用 Vagrant 打造跨平台开发环境

    Vagrant 是一款用来构建虚拟开发环境的工具,非常适合 php/python/ruby/java 这类语言开发 web 应用,“代码在我机子上运行没有问题”这种说辞将成为历史。

  • 2017-11-28 14:57:19

    vagrant up 失败解决办法

    直接使用VirtualBox开启一个vm也会失败,基本上可以确定是VirtualBox版本的问题 有遇到过安装了VirtualBox-5.0.22-108108-Win.exe的版本在win7下用不了,卸载重装VirtualBox-4.3.12-93733-Win.exe之后可用。

  • 2017-12-05 22:30:02

    php7.0升级php7.2

    看电脑上的教程要备份7.0配置文件以及扩展啥的,我感觉不如卸载干净重新安装