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

今天在代码中使用一个RelativeLayout.getLayoutParams()函数时,赋值给RelativeLayout.LayoutParams时,出现如下的报错信息:

java.lang.ClassCastException: android.widget.LinearLayout$LayoutParams cannot be cast to android.widget.RelativeLayout$LayoutParams
这段话提示我们不能将Linear$LayoutParams强制转换成RelativeLayout$LayoutParams可是自己看了下,当前view确实是RelativLayout的之类,调用getLayoutParams应该没有问题呀~

好吧,往往就忽略了一个问题,这个LayoutParams是之类从父类获取到了,明白这一点,就知道怎么回事了,而我的父类是一个LinearLayout,所以:

LinearLayout.LayoutParams params = (LinearLayout.LayoutParams) this.getLayoutParams();
这样就没问题了


你可能感兴趣的:(java.lang.ClassCastException: android.widget.LinearLayout$LayoutParams cannot be cast to android.wid)