2011-10-02 18 views
0

這是我每次嘗試設置圖像視圖的LayoutParam時出現的錯誤。如何修復imageview ClassCaseException的LayoutParam?

10-02 03:27:53.081: ERROR/AndroidRuntime(1272): FATAL EXCEPTION: main 
10-02 03:27:53.081: ERROR/AndroidRuntime(1272): java.lang.ClassCastException: android.widget.Gallery$LayoutParams 
10-02 03:27:53.081: ERROR/AndroidRuntime(1272):  at android.widget.LinearLayout.measureHorizontal(LinearLayout.java:659) 
10-02 03:27:53.081: ERROR/AndroidRuntime(1272):  at android.widget.LinearLayout.onMeasure(LinearLayout.java:311) 
10-02 03:27:53.081: ERROR/AndroidRuntime(1272):  at android.view.View.measure(View.java:8313) 
10-02 03:27:53.081: ERROR/AndroidRuntime(1272):  at android.view.ViewGroup.measureChild(ViewGroup.java:3109) 

這裏是我的佈局與ImageView的我試圖設置layoutParam對..

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout 
xmlns:android="http://schemas.android.com/apk/res/android" 
android:layout_width="fill_parent" 
android:layout_height="wrap_content"> 
<ImageView 
    android:id="@+id/imageView" 
    android:layout_width="50dip" 
    android:layout_height="50dip" android:src="@drawable/stub" android:scaleType="centerCrop"/> 
<TextView 
    android:id="@+id/text" 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:layout_weight="1" android:layout_gravity="left|center_vertical" android:textSize="20dip" android:layout_marginLeft="10dip"/> 
</LinearLayout> 

,這裏是我的代碼膨脹的視圖,然後嘗試設置帕拉姆的,但我一直得到上面的錯誤。

public View getView(int position, View convertView, ViewGroup parent) { 
    View vi=convertView; 
    if(convertView==null) 
     vi = inflater.inflate(R.layout.lazyitemt, null); 


    ImageView image=(ImageView)vi.findViewById(R.id.imageView); 

    image.setLayoutParams(new Gallery.LayoutParams(150, 150)); 
    imageLoader.DisplayImage(data[position], activity, image); 
    return vi; 
} 

我不知道爲什麼我繼續得到這個。一切似乎都是正確的?我該如何解決這個問題?

回答

2

你把imageView放在LinearLayout中。所以,你應該修改你的佈局參數代碼

image.setLayoutParams(new LinearLayout.LayoutParams(150, 150)); 
+0

這工作,但現在的圖像看起來拉伸和像素化非常糟糕。 – user856377

+0

爲什麼你在佈局參數中設置150像素?真奇怪。如果您不希望圖像被拉伸,只需刪除上面的代碼,並在ImageView的xml佈局值中指定圖像的大小。 – kingori

+0

嗯,我希望它是不同的尺寸取決於屏幕尺寸 – user856377