問題描述
動態添加子view的時候,報crash,提示$LayoutParams cannot be cast to android.widget.RelativeLayout$LayoutParams
完整錯誤堆棧
:12.946 11951-11951/com.xx E/CrashReport: sys default last handle start!
11-16 12:21:13.041 11951-11951/com.xx E/AndroidRuntime: FATAL EXCEPTION: mainProcess: com.xx, PID: 11951java.lang.ClassCastException: android.widget.LinearLayout$LayoutParams cannot be cast to android.widget.RelativeLayout$LayoutParamsat com.xx.TimeLineWithPicturesAdapter.setTimeLineHeight(TimeLineWithPicturesAdapter.java:223)at com.xx.TimeLineWithPicturesAdapter.onBindViewHolder(TimeLineWithPicturesAdapter.java:205)at com.xx.TimeLineWithPicturesAdapter.onBindViewHolder(TimeLineWithPicturesAdapter.java:48)
問題分析
View.getlayoutParams,返回的是父view的參數,父view 是什么,就得賦值給對應的父View.LayoutParams
問題解決
傳遞父view類型的LayoutParams