Android異常佈局的ClassCastException

今天寫一個ListView,用的是指定義的佈局,這個ListView的headerView也是自定義佈局,運行報錯:
java.lang.ClassCastException: android.widget.RelativeLayout$LayoutParams cannot be cast to android.widget.AbsListView$LayoutParams 

網上查詢,然後通過同事幫助才明白:如果你要將一個view添加到另一個佈局中,你必須設定該View的佈局參數爲其父類所使用的佈局參數類型。即要在代碼中動態改變某組件的高度,其佈局參數類型應該是其父類所使用的佈局參數類型。

參考我的代碼,因爲ListView的headerView的LayoutParams參數沒有改爲和ListView一致; 
改爲 
ListView.LayoutParams LP=new ListView.LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT);
後正常顯示。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章