zoukankan      html  css  js  c++  java
  • Caused by: java.lang.ClassCastException: android.widget.LinearLayout$LayoutParams

    <?xml version="1.0" encoding="utf-8"?>
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:id="@+id/ll"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:orientation="vertical" >
    
        <RelativeLayout
            android:id="@+id/rl"
            android:layout_width="match_parent"
            android:layout_height="match_parent">

    以上是布局文件代码,我想在代码中重新设置rl的宽度

    RelativeLayout relativeLayout = (RelativeLayout)this.findViewById(R.id.rl);
    RelativeLayout.LayoutParams param = new RelativeLayout.LayoutParams(100, LayoutParams.MATCH_PARENT);
    relativeLayout.setLayoutParams(param);

    就会报这个错 Caused by: java.lang.ClassCastException: android.widget.LinearLayout$LayoutParams cannot be cast to android.widget.LinearLayout$LayoutParams  。

    解决方法:relativeLayout 是LinearLayout的子控件,它的LayoutParams 应该是LinearLayout给他的。所以应该是LinearLayout.LayoutParam 。如果relativeLayout 有子控件的话,那它的子控件用的的就是relativeLayout 给他们的,才是RelativeLayout.LayoutParam。

  • 相关阅读:
    C# Trick
    DotNet Resource
    人员角色权限
    Verticles for Web Application
    Node Addon
    EventBus
    怎么实现员工和工资大数据分析,echarts+js实现
    winform怎么实现财务上凭证录入和打印
    WPF实现大数据分析
    非常经典的面试题,方案很多,一起交流学习
  • 原文地址:https://www.cnblogs.com/wangyuehome/p/3042656.html
Copyright © 2011-2022 走看看