Gallery.setLayoutParams的ClassCastException?

时间:2011-10-02 01:17:13

标签: android

我正在为Gallery创建一个基础适配器。

我正在使用此方法来覆盖getView()。

但是我一直在LayoutParam的代码中得到这个错误。

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

这是我的方法..

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.image);
    image.setLayoutParams(new Gallery.LayoutParams(250, 250));
    imageLoader.DisplayImage(data[position], activity, image);
    return vi;
}

1 个答案:

答案 0 :(得分:0)

image内的身份Gallery的观看儿童?根据堆栈跟踪,看起来孩子正试图通过LinearLayout来定位,Gallery.LayoutParams不能使用View参数。您确定布局中只有一个由image标识的Gallery,并且您确定此视图无法以某种方式从LinearLayout移动到{{1} }}?