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);
後正常顯示。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.