ClassCastException android.view.viewgroup.$layoutParam

記錄一下犯的這個小錯誤,在寫程序的時候,需要動態的去控制一個控件的高度時,設置寬和高出現異常。截取網上一段代碼

	TextView txt=new TextView(productlist.this);
    txt.setText(author.get(groupPosition));
    TextView txt1=new TextView(productlist.this);
    txt1.setText(price.get(groupPosition));
    txt.setLayoutParams(new LayoutParams(70, LayoutParams.WRAP_CONTENT));  
    txt1.setLayoutParams(new LayoutParams(70,LayoutParams.WRAP_CONTENT));
    LinearLayout ll=new LinearLayout(productlist.this);
    ll.setOrientation(LinearLayout.HORIZONTAL);
    ll.setLayoutParams(new LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.WRAP_CONTENT));  
   // ll.setGravity(Gravity.CENTER);  
    ll.addView(txt);  
    ll.addView(txt1);  

    return ll;

在設置佈局參數的時候會出現類似這樣的問題  ClassCastException android.view.viewgroup.$layoutParam,這裏需要確保導入正確的包的信息,針對的是LayoutParams這個值,在寫程序的時候,最好使用new FrameLayout.LayoutParams,new LinearLayout.LayoutParams,這種寫法免得出現包對應出錯的問題。前邊值(FrameLayout,LinearLayout)是根據你所要設置的控件的父佈局決定的。

在stackoverflow也給出的一些說明

http://stackoverflow.com/questions/7547957/classcastexception-android-view-viewgroup-layoutparam

http://stackoverflow.com/questions/8226676/java-lang-classcastexception-android-view-viewgrouplayoutparams-without-layout


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