java.lang.ClassCastException: android.widget.FrameLayout$LayoutParams cannot be cast to android.widg
有時候需要在在代碼中設置LayoutParams,自己為一個FrameLayout設置LayoutParams的時候,遇上如題問題,
簡單的舉個栗子說明一下:最外層有ReLativeLayout A,里面有兩個LinearLayout B、C,而B中又有一個一個FrameLayout D。如果要在代碼里設置B的LayoutParams,B的LayoutParams要為RelativeLayout.LayoutParams。
RelativeLayout.LayoutParams params = new RelativeLayout.LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT); B.setLayoutParams(params);
而D要設置的話,需要:
LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(LayoutParams.MATCH_PARENT, 0); params.weight = 8; D.setLayoutParams(params);
可以解決了,分享給大家