- 常见错误
java.lang.ClassCastException: android.widget.RelativeLayout$LayoutParams cannot be cast to android.widget.LinearLayout$LayoutParams
出现这个错误的原因是因为我们获取控件LayoutParams方法出错
- 通过父控件确定获取LayoutParams方法
比如父控件是LinearLayout获取方法为
LinearLayout.LayoutParams setP = (LinearLayout.LayoutParams) Layout.getLayoutParams();
设置代码为
Layout=(RelativeLayout) view.findViewById(R.id.videoP);
// LinearLayout.LayoutParams setP=new LinearLayout.LayoutParams(0, 0);
LinearLayout.LayoutParams setP = (LinearLayout.LayoutParams) Layout.getLayoutParams();
setP.height=700;
setP.width=500;
setP.leftMargin=100;
Layout.setLayoutParams(setP);
如果父控件为RelativeLayout获取方法为
RelativeLayout.LayoutParams setP= (RelativeLayout.LayoutParams) Layout.getLayoutParams();
设置代码为
Layout=(RelativeLayout) view.findViewById(R.id.rela2);
RelativeLayout.LayoutParams layoutParams = (RelativeLayout.LayoutParams) Layout.getLayoutParams();
layoutParams.setMargins(100, 100,0,0);
Layout.setLayoutParams(layoutParams);
本文介绍了在Android开发中常见的ClassCastException错误,该错误发生在尝试将RelativeLayout的LayoutParams转换为LinearLayout的LayoutParams时。解决方法是正确根据父控件类型来获取LayoutParams。对于LinearLayout,应该使用LinearLayout.LayoutParams,而对于RelativeLayout,则使用RelativeLayout.LayoutParams。同时,提供了设置LayoutParams的示例代码,包括设置尺寸和边距。
821

被折叠的 条评论
为什么被折叠?



