您的位置:首页 > 移动开发 > Android开发

java.lang.ClassCastException: 。。。$LayoutParams cannot be cast to android.widget.LinearLayout$Layout

2015-06-09 10:36 459 查看
今天经理说自己做的按钮在高分辨率的屏幕上显示的太小,就决定根据分辨率的大小,按钮的背景图片宽高比设置按钮的宽和高:


LayoutParams params=new LayoutParams(imgWidth,imgHeight);

navi_bt.setLayoutParams(params);


但是运行时报了:java.lang.ClassCastException: 。。。$LayoutParams cannot be cast to android.widget.LinearLayout$Layout
查了网上的资料才知道,当代码设置控件参数时,LayoutParams的类型必须是负控件的参数类型,即:如果负控件的类型为RelativeLayout,那么应该是RelativeLayout.LayoutParams,然后就把代码改成了一下:


RelativeLayout.LayoutParams params=new RelativeLayout.LayoutParams(imgWidth,imgHeight);

navi_bt.setLayoutParams(params);


确实可以了。再次做下笔记
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  设置 cast 显示