美文网首页
ViewGroup.LayoutParams踩坑

ViewGroup.LayoutParams踩坑

作者: Qsy_Zer0 | 来源:发表于2016-09-26 19:14 被阅读461次

    今天在使用LayoutParams时出现了一个问题,我是这样用的:

    ViewGroup.LayoutParams iv_share_params = ivshare.getLayoutParams();
    iv_share_params.width = itemWidth;
    iv_share_params.height = itemWidth;
    ivshare.setLayoutParams(iv_share_params);
    iv_album_choose.setLayoutParams(iv_share_params);
    

    重点是,两个LayoutParams
    都是ViewGroup的LayoutParams
    ,然后一执行就出现下列错误:

    java.lang.ClassCastException: android.widget.RelativeLayout$LayoutParams cannot be cast to android.widget.RelativeLayout
    异常说的是两个是不同类型的LayoutParams

    但明明都是ViewGroup的LayoutParams
    而且我确定ViewGroup的LayoutParams
    而且log上没有标位置

    然后就在stackoverflow上查找答案,最后试了发现不去新建一个LayoutParams,而是从原来的View中直接获取LayoutParams。
    改完运行结果没有出现异常了。
    所以,当一个View已经有了LayoutParams,不能再次添加一个新创建的LayoutParams???

    相关文章

      网友评论

          本文标题:ViewGroup.LayoutParams踩坑

          本文链接:https://www.haomeiwen.com/subject/lbbqyttx.html